GIT-CORE是一個分布式的版本控制器,我們是對android的源碼進行開發時使用的GIT管理代碼.
GIT的優缺點,原理,我就不過多贅述了.介紹一下GIT在日常使用的時候,遇到的問題,
最為一個開發人員,經常遇到的問題.
1.git pull 在每次工作前,執行這個操作, 為了同步代碼,使主線上的代碼和個人電腦上的保持一致,如果出現merge error,可能是因為,本地的修改和伺服器上的修改出現了衝突,我們只能把自己的修改備份之後刪掉,checkout之後,重新pull代碼.
2.git status 查看修改的代碼狀態
3.git add 查看過修改的狀態之後,把自己修改的代碼添加到暫存區(例如: git add a.java,如果為刪除源檔案中的東西則為git rm a.java)
4.git commit此時修改內容已經增加到暫存區,現在我們需要把添加到暫存區的內容,增加一個commit注釋,然後提交到本機伺服器.(如果為了簡單操作 可以用 git commit -m 'commit reason')
5.git push 這時候,代碼已經同步到本地的伺服器,我們還需要做最後一件事情就是把本地的提交(也就是commit)推送到遠程伺服器.
6.git diff 常用git diff操作看一看修改的內容是哪些
7.git log 查看提交日誌.可以具體到檔案,看看誰對該檔案曾經做過修改
8.git checkout 用本機伺服器的源檔案替換掉現在的這個檔案
在項目中,有一個檔案夾名為.git 這個檔案夾中存放著git 的配置資訊,例如config 就是 檔案的配置資訊,包括遠程伺服器的地址.
8.git show commit號 顯示當次修改內容
作為一個git伺服器的管理員
1.git init 初始化一個git伺服器
2.sudo chgrp -R XXXX .git/
sudo chmod -R g+w .git/
進入項目之後,修改項目中.git檔案夾的許可權....先ls -al
查看git伺服器的所在組和組許可權.
這時,我們使用上面的兩條命令.給開發人員所在組提供項目的.git/檔案夾的寫入權限,再給.git/檔案夾發放組可寫入權限
3.git checkout -f master 現在別人提交的東西不會checkout到本地,我們只能手動checkout到本地.
4.如果我們的代碼作為一個中間的伺服器.中間伺服器在提交和更新代碼的時候.都要將代碼checkout到本地.
5.由於git預設拒絕了push操作,需要進行設定,修改.git/config添加如下代碼:
[receive]
denyCurrentBranch = ignore