先來描述下我遇到的問題吧~git
首先對於第一次在服務器上搞git的我來講這個手確實綠了點.....修改以前描述!!!建倉庫的命名不是要.git才能夠!!!!服務器
這是本次操做的最大受教資料:教程
https://git-scm.com/book/zh/v2/%E6%9C%8D%E5%8A%A1%E5%99%A8%E4%B8%8A%E7%9A%84-Git-%E5%9C%A8%E6%9C%8D%E5%8A%A1%E5%99%A8%E4%B8%8A%E6%90%AD%E5%BB%BA-Gitci
首先在建庫的時候要明確一點,你要作的是本地倉庫仍是服務器倉庫。(如下僅表明我的實踐總結,會存在描述誤差)開發
對於有pull和push的小夥伴,建議搭建先搭建裸露,再將真正的代碼建立倉庫做爲本地倉庫,最後將本地倉庫與裸庫關聯;而對於只是將代碼進行版本管理和分支管理能夠只建立本地倉庫。rem
這麼說可能不少人都不是很明確,這裏能夠參考咱們本地拉到其餘庫在本地開發的時候的狀況:it
這是我本地拉的代碼而後本身添加分支的結構。這個時候電腦本地的倉庫和遠程的倉庫的關係就和咱們在服務器建立的 .git 的裸庫和存在不少文件代碼的‘本地’倉庫的關係相似(不盡相同)io
拉到本地的代碼能夠經過分支管理本身寫的和想要提交的,這時候就也是建立了一個本地倉庫,咱們克隆到的也就是一個倉庫。而裸庫是沒有代碼的,並且也沒有 .git 文件。看到幾個熟悉的名詞,這裏面都是ast
裸庫的主要內容在config hooks/ info/ objects/版本管理
幾個目錄是主要包含了這個裸庫管理的分支,分支代碼等。在config中就是咱們須要的代碼的地址等的描述和名字同樣,就是一個配置文件,在配置文件能夠看出管理的分支和分支地址,由於對於服務器級的倉庫是必須經過和倉庫關聯纔有代碼。
來摘要下步驟:
1.建立服務器倉庫-裸庫:
這一步的核心就是:
(1)在你服務器合適的位置建立一個名爲***.git的文件目錄
(2)進入目錄,在該目錄下鍵入命名:git init --bare
看到空文件夾下有多個如圖示文件後就是建立好了
2.建立服務器本地倉庫
這一步的核心就是建立倉庫並將倉庫與裸庫相關:
(1)在合適位置建立一個倉庫(步驟和以前提到建立倉庫相同描述個人步驟爲主)
將代碼放在服務器合適位置,假如項目名爲myTest
cd myTest
git init //將這個目錄變爲倉庫
git add *//添加文件進行暫存
git commit -m 'init Project'//提交到倉庫
致此,(1)步驟結束,這裏也是就製做一個本地庫的過程。
(2)關聯裸庫
git remote add origin 服務器:/路徑/****.git
(3)將服務器本地庫提交裸庫主分支
git push -u orgin master
因而,一個能夠提交和拉取代碼的git搞定了
另外要注意權限的問題。當push的時候遇到:error: insufficient permission for adding an object to repository database ./objects
能夠參考:https://stackoverflow.com/questions/6448242/git-push-error-insufficient-permission-for-adding-an-object-to-repository-datab
其實就是文件權限的問題,建立好的倉庫不要隨意修改倉庫權限。我遇到的問題就是根據建立的教程說修改成git用戶,可是這時候建議用git的配置修改,而不是chown