總結
1. 使用git提交代碼到服務器流程 2012-07-05
Git系統中有兩個代碼存放地,一個是本地代碼,另一個是真正的代碼,前者相當於真正代碼的clone。
1)
修改代碼,修改文件或者添加文件。如果想看看修改了什麼,可以用:
gitdiff
如果對某個修改不滿意,希望恢復原狀,可以使用:
gitcheckout path/filename
相當於svn revert
2)
git引入一個索引(index)的概念,提交前,需要把要提交的文件加入到git索引(index)中:
git addpath/filename1
git addpath/filename2
3)
gitcommit -m "提交感言"
每次commit都是提交索引(index)中的內容。
如果要一次提交所有修改過的文件,可以一次性添加,然後提交
git add.
gitcommit -m "提交感言"
如果只是修改,並沒有添加新文件,可以直接用下面的命令:
git commit-a -m "提交感言"
將被修改文件加入索引並提交,一次完成全過程。
當出現衝突時,需要先解決衝突,接着再加入索引並提交。
4)
先要更新代碼到最新,更新代碼用如下指令
git pull --rebase
5)
以下才是真正將代碼提交上去。
Git push
6)
然後可以在以下網址查看到提交記錄
http://192.168.80.90/gerrit/gitweb?p=qrd8625r4/android.git;a=summary
注意,本項目是/ qrd8625r4/android.git/ summary。
7)
在修改加入所索引後,如果想看看索引內容中都所了什麼修改,可以用:
gitdiff --cached
適合在提交前做最後的codereview。
查看最近一次提交的內容,可以使用
gitshow
修改中隨時查看當前代碼庫的狀態:
gitstatus
相當於svn status
刪除和移動某個文件:
git rmfile
git mvfile newfile
2. Git命令小結 2012-07-09
git恢復刪除了的文件
git pull 從git服務器取出,並且和本地修改merge, 類似於SVN up,但是對刪除的文件不管
用,恢復刪除文件用
git checkout –f
從已有的git庫中提取代碼
git clone git@server:app.git myrepo
每次更改代碼的操作
更新本地代碼到最新版本(需要merge才能合到本地代碼中)
git fetch
合併更新後的代碼到本地
git merge
更新代碼方式的另一種方法(git pull是gitfetch和git merge命令的一個組合)
git pull
修改代碼後,查看已修改的內容
git diff –cached
將新增加文件加入到git中
git add file1 file2 file3
從git中刪除文件
git rm file1
git rm -r dir1
提交修改
git commit -m 'this is memo'
如果想省掉提交之前的 git add 命令,可以直接用
git commit -a -m 'this is memo'
commit和commit -a的區別, commit -a相當於:
第一步:自動地add所有改動的代碼,使得所有的開發代碼都列於index file中
第二步:自動地刪除那些在index file中但不在工作樹中的文件
第三步:執行commit命令來提交
提交所有修改到遠程服務器,這樣,其它團隊成員才能更新到這些修改
git push
其它常用命令
顯示commit日誌
git log
不僅顯示commit日誌,而且同時顯示每次commit的代碼改變。
git log –p
回滾代碼:
git revert HEAD
你也可以revert更早的commit,例如:
git revert HEAD^
銷燬自己的修改
git reset --hard
3. Git命令補充 2012-07-20
1)
回退已經commit的代碼到commit之前
Gitreset HEAD^
2)
將不要提交的代碼放入回收站
Gitstash