2016-12-30 85 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就足够了。

相关问题