簡體   English   中英

如何將本地更改與git中遠程存儲庫上的更改集成在一起?

[英]How to integrate local changes with changes on the remote repository in git?

我有一個本地項目,它也以git存儲庫形式存在。

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

我首先需要從遠程存儲庫中獲取他的更改,然后將我所做的更改與我剛剛獲得的更改一起推送到遠程存儲庫中。 我該怎么做?

像git pull origin master這樣的東西會覆蓋遠程存儲庫中當前項目的本地更改嗎?

有什么辦法可以合並這些提交?

首先通過以下方式提交您的工作:

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分支中的某個位置。

最佳做法是使用git pull --rebase (意思是fetch + rebase)。

它將在更新的origin/master之上重放本地提交。
然后git push將發布您的提交。

如果您擁有Git 2.9或更高版本 ,我建議:

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

然后簡單的git pull就足夠了。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM