Git中從遠端的分支獲取最新的版本到本地有這樣2個命令:
1. git fetch:相當於是從遠端獲取最新版本到本地,不會自動merge
git fetch origin master
git log -p master..origin/master
git merge origin/master
以上命令的含義:
首先從遠端的origin的master主分支下載最新的版本到origin/master分支上
然後比較本地的master分支和origin/master分支的差別
最後進行合併
2. git pull:相當於是從遠端獲取最新版本並merge到本地
git pull origin master
上述命令其實相當於git fetch 和 git merge
在實際使用中,git fetch更安全一些
因為在merge前,我們可以檢視更新情況,然後再決定是否合併
當遇到"Commit your changes or stash them before you can merge"衝突時,這表明GIt保護您本地的程式碼修改,避免重要的修改丟失。有三種方法解決:
1. 提交程式碼修改:
git commit -m "My message"
2. Stash it:
Stash儲存充當堆疊,您可以在其中推送更改,並以相反的順序彈出它們
儲存:
git stash
進行合併,然後拉出儲存的修改:
git stash pop
3. 丟棄本地的修改:
git reset --hard
或者
git checkout -t -f remote/branch
或者為特定檔案丟棄本地修改:
git checkout filename