2016-12-30 68 views
1

我有一個當地的項目,這也是一個git倉庫。如何在git中將本地更改與遠程存儲庫上的更改集成在一起?

最近,我和我的同事對這個項目進行了兩處不同的修改。他修改了一些文件並將其推送到遠程存儲庫。我做了一些更改,這些更改存在於本地存儲庫中,並且不會與遠程存儲庫上的任何更改相沖突。

我需要先從遠程存儲庫中獲取他的更改,並將他的更改與我剛剛訪問的遠程存儲庫一起推送。我該怎麼做?

類似 - git pull origin master會覆蓋遠程存儲庫上當前項目的本地更改嗎?

有沒有一種方法可以合併這些提交?

回答

2

首先提交您的工作通過:

git add <path/to/file1> 
git add <path/to/file2> 
# ... etc. for each file 
git commit -m 'commit message goes here' 

然後你可以在他的變化帶來通過合併:

git pull origin master 
git push origin master 

或者你也可以在遠程master分支衍合你的工作:

git pull --rebase origin master 
git push origin master 

在這兩種情況下,只要你承諾你的工作,什麼都不會丟失。當您推送到遠程存儲庫時,您的提交將會在您當地的master分支的某處。

1

A git pull --rebase(意思是抓取+重新摺疊)是最佳做法。

它會在更新的origin/master之上重播您的本地提交。
然後git push將發佈您的提交。

如果你有Git 2.9 or more,我建議:

git config --global pull.rebase true 
git config --global rebase.autoStash true 

那麼簡單git pull就足夠了。

相關問題