1. 程式人生 > >使用git中出現的問題

使用git中出現的問題

今天從遠端倉庫pull時報錯了,問題:Your local changes to the following files would be overwritten by merge:LeJiaSiDi.xcodeproj/project.pbxproj     please,commit your changes or stash them before you can merge.


大概意思是說,你的本地更改以下檔案將會被合併覆蓋:xxxx / project.pbxproj請提交您的更改或隱藏他們才能合併。

在上篇文章中我們已經介紹過.pbxproj檔案,當我們工程中的一些配置檔案或者修改檔案目錄後,.pbxproj檔案就會修改。

1、僅僅修改了工程的配置檔案且這個檔案不需要上傳到遠端倉庫的情況:

git  discard .pbxproj 丟棄對.pbxproj檔案所做的更改

git pull  origin master 拉取遠端倉庫的程式碼,之後在上傳其他需要上傳的檔案

2、保留本地修改的程式碼,並把遠端倉庫上的程式碼pull到本地

git stash :備份當前的工作區的內容,將當前的工作區內容儲存到Git棧中。

git pull 

git stash pop:從Git棧中讀取最近一次儲存的內容,恢復工作區的相關內容。由於可能存在多個Stash的內容,所以用棧來管理,pop會從最近的一個stash中讀取內容並恢復。

這樣遠端倉庫上的程式碼便更新到本地,而且你本地修改的程式碼也沒有被覆蓋,之後在使用add,commit,push命令更新原生代碼到伺服器即可

git stash list: 顯示Git棧內的所有備份,可以利用這個列表來決定從那個地方恢復。
git stash clear: 清空Git棧。此時使用gitg等圖形化工具會發現,原來stash的哪些節點都消失了。

3、完全覆蓋本地的程式碼,只保留伺服器端程式碼,則直接會退到上個版本,這樣的話,本地的所有更改都會消失,在進行pull

git reset --hard    

git pull