[英]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.