Git基本操作、分支管理、衝突解決
基本操作
git init
建立一個 Git 倉庫
git clone [url]
拷貝一個 Git 倉庫到本地
git add [file_name]
git add 命令可將該檔案新增到快取
git commit -m "備註資訊"
使用 git add 命令將想要快照的內容寫入快取區, 而執行 git commit 將快取區內容新增到倉庫中。使用 -am 可以跳過 add 命令
git reset HEAD
git reset HEAD 命令用於取消已快取的內容
git status
git status 以檢視在你上次提交之後是否有修改
- -s 引數可以獲得簡短的結果輸出
git diff
執行 git diff 來檢視執行 git status 的結果的詳細資訊
- 尚未快取的改動:git diff
- 檢視已快取的改動: git diff --cached
- 檢視已快取的與未快取的所有改動:git diff HEAD
- 顯示摘要而非整個 diff:git diff --stat
git rm
從 Git 中移除某個檔案。
- -f : 強制刪除
- --cached : 從暫存區域移除,但仍然希望保留在當前工作目錄中
- –r * : 遞迴刪除整個目錄內的子目錄和檔案
git mv
git mv 命令用於移動或重新命名一個檔案、目錄、軟連線
分支操作
建立分支
git branch [分支名]
檢視分支
git branch -v
切換分支
git checkout [分支名]
合併分支
將任何分支合併到當前分支
git merge [分支名]
合併衝突
合併衝突時,會進入MERGING狀態,檢視衝突檔案。
<<<<<<< HEAD
123456
=======
456789
>>>>>>> master
HEAD:當前分支內容
master:另一分支內容
此時進入手動修改階段.....
衝突的解決
編輯檔案,刪除特殊符號
把檔案修改到滿意的程度,儲存退出
git add [檔名]
git commit -m "日誌資訊"
此時commit一定不能帶檔名。
新增Github遠端庫
git remote add [shortname][url]
例:git remote add origin [email protected]:tianqixin/runoob-git-test.git
推送到遠端倉庫
git push [alias][branch]
例:git push origin master
推送衝突
如果在你提交修改時已經有了其它人提交修改,那就會產生衝突。
這時候可以先 pull 拉取到本地,然後按照 合併衝突 的解決方法做即可。
檢視當前的遠端庫
git remote [-v]
1.從遠端倉庫下載新分支與資料到本地
git fetch [alias]/[branch]
2.從遠端倉庫提取資料並嘗試合併到當前分支
git merge [alias]/[branch]
拉取(pull = fetch+merge)
git pull [alias][branch]
刪除遠端倉庫
刪除遠端倉庫你可以使用命令:
git remote rm [alias]