配置
gamexg@GGentoo ~ $ git config --global user.email "GameXG@Gmail.Com"
gamexg@GGentoo ~ $ git config --global user.name "GameXG"
git-clone
git://repo.or.cz/git-gui/git-gui-i18n.git abc
複製 git://repo.or.cz/git-gui/git-gui-i18n.git 到 abc。不指定 abc 則使用git-gui-i18n。
git-add
添加需要 git 跟蹤的檔案.
注意:即使是上次提交前已經添加的檔案在修改後還是需要再次添加或者使用-a參數執行提交,不然這次提交並不會提交這個檔案的修改。
git-rm
從版本庫標記指定檔案為刪除,並刪除存在的指定檔案。
git-commit
向版本庫提交更改。
參數: -a 提交所有已加入版本庫的檔案的變更(建立但並沒有git-add的檔案不會被提交,修改和刪除已存在版本庫的檔案將會提交更改。)
參數 -m 變更的注釋。沒有本參數則會自動開啟一個使用環境變數 EDITOR 指定的文字編輯器來輸入注釋。
注意:如果沒有使用-a參數,則只提交從上次提交到現在執行過git-add或git-rm等命令指定的檔案才會被提交。即使某些在上次提交前執行git-add也不會提交它的更改。
git-reset
逆轉於恢複命令。
--mixed
重設目前的版本號為指定版本。清除待提交的檔案清單(git-add增加但未git-commit的列表)。不改變任何檔案。
--soft
清除待提交的檔案清單(git-add增加但未git-commit的列表)。不改變任何檔案。
--hard
將工作樹中的內容和頭索引都切換至指定的版本位置中,也就是說自
之後的所有的跟蹤內容和工作樹中的內容都會全部丟失。因此,這個選項要慎用,除非你已經非常確定你的確不想再看到那些東西了。
(並不是一點痕迹都沒有,在log目錄裡面還是記錄了現在和之前的操作的記錄。並且執行git-reset
命令指定為已經之前的版本一樣可以成功完成。但是我不確定如果執行git prune-packed之類的命令後是不是還存在。)
git-diff
目前的版本和git資料庫中的區別,以標準 path 格式顯示。
git-branch
分支管理命令
git-branch a # 建立分支a(並不會切換到分支 a ,需要手動執行命令 git-checkout a )
git-branch -D a # 刪除分支a
git-branch # 不帶參數為查看已存在的分支。
git-merge
分支合并命令
git-merge 分支名稱
將指定的分支合并到當前分支。注意:這樣會同時將分支的曆史提交也全部合并到當前分支。如果不想保留分支的曆史提交資料使用 --squash 參數。
--squash 使用本參數將只會合并當前檔案,並將被合并的檔案標記為代提交。使用者需要手動提交。這樣就不會將原始分支的提交記錄合并到當前分支了。
不知道什麼原因 log、 commit 和 message 參數全部無效。
合并衝突
當發生合并衝突時,
參考:
Git 中文教程(可以從網上找到PDF版本)
Git 使用指南(PDF)
使用 Git 管理原始碼