Git之如何解決更新代碼的沖突問題
使用 Git 來管理自己的代碼倉庫,如果忘記遠程倉庫的代碼 git pull 到本地,就直接開始編寫代碼,等寫到一半的時候,突然想起來還沒有 pull 代碼,然后執(zhí)行同步的時候,遇到了沖突:
可以看到執(zhí)行報錯,大致意思就是本地修改的代碼文件,將會被遠程倉庫上的代碼覆蓋,如果我們不想剛剛寫的代碼就被這樣給覆蓋掉,那么該怎么解決呢?
不要覆蓋本地修改的代碼:
如果想保留剛才本地修改的代碼,并把 Git 遠程服務器上的代碼 pull 到本地,可以使用 stash 命令將本地剛才修改的代碼暫時封存起來,用的時候使用 pop 即可,這也是線上常規(guī)修復 Bug 的常用方式。
如此一來,再將遠程服務器上的代碼更新到了本地,此時本地修改的代碼也沒有被覆蓋,而是被暫時封存起來了,之后使用 add、 commit、 push 命令,即可更新本地代碼到遠程服務器。
# 1.將本地代碼暫時封存起來 $ git stash # 2.同步遠程服務器的代碼 $ git pull origin master # 3.將本地暫存的代碼彈出,這里也可以直接刪除 $ git stash pop
1
2
3
4
5
6
7
8
對于不常使用 Git 的人來說, 這個暫存的 stash 命令可能還不是很熟悉,官方文檔對其的相關使用和描述如下:
NAME git-stash – Stash the changes in a dirty working directory away SYNOPSIS git stash list [
1
2
3
4
5
6
7
8
9
10
11
12
13
完全覆蓋本地修改的代碼:
如果想完全地覆蓋本地的代碼,只保留遠程服務器的代碼,則直接回退到倉庫的上一個版本,再進行 pull 命令來同步遠程服務器端的代碼:
# 1.回退到上一個版本 git reset --hard ^HEAD # 2.同步遠程服務器端的代碼 git pull origin master
1
2
3
4
5
Git
版權聲明:本文內(nèi)容由網(wǎng)絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實的內(nèi)容,請聯(lián)系我們jiasou666@gmail.com 處理,核實后本網(wǎng)站將在24小時內(nèi)刪除侵權內(nèi)容。
版權聲明:本文內(nèi)容由網(wǎng)絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實的內(nèi)容,請聯(lián)系我們jiasou666@gmail.com 處理,核實后本網(wǎng)站將在24小時內(nèi)刪除侵權內(nèi)容。