我想從github主完全更新我的當前工作目錄。有一個我工作過的文件,名爲form.html,它存在於我的工作目錄中,而在github源主分支上存在一箇舊版本。如何從github中取出並保留本地文件而不解決合併衝突
git pull origin master
當從主人提出要求解決衝突。我不想解決合併衝突,而是想要我的文件從我的本地分支form.html完全取代原始主分支(遠程)上的form.html
什麼是實現這一目標的最佳方式?感謝
我想從github主完全更新我的當前工作目錄。有一個我工作過的文件,名爲form.html,它存在於我的工作目錄中,而在github源主分支上存在一箇舊版本。如何從github中取出並保留本地文件而不解決合併衝突
git pull origin master
當從主人提出要求解決衝突。我不想解決合併衝突,而是想要我的文件從我的本地分支form.html完全取代原始主分支(遠程)上的form.html
什麼是實現這一目標的最佳方式?感謝
如果您還沒有提交您的本地文件,你可以(以下「git pull keeping local changes‘的想法):
git stash
git pull
git stash pop
# if conflict on pop:
git checkout --theirs -- form.html
但如果你的文件被提交,然後請參閱’Is it possible to exclude specific commits when doing a git merge?」,並與一個.gitattributes,聲明適當的合併:
form.html merge=ours
什麼是git checkout的效果 - 他們 - form.html? – 2013-03-24 00:17:59
@RyanPerera在'藏匿流行'期間發生衝突時,'checkout'他們'確保你找回你藏起來的東西,而不是你所拉的東西。它會用你保存的內容覆蓋pull引入的修改。 – VonC 2013-03-24 00:40:38
假設你已經提交你的form.html文件...
你執行後「的git拉出身米aster'並且有衝突,那麼您可以根據您的本地版本輕鬆解決衝突。拉動後執行以下操作:
git checkout --ours -- <files in conflict>
git add <files in conflict>
git commit -m 'resolved with --ours'
git push origin master
作爲解決衝突的一部分,爲什麼不將整個新文件放置到位? – alex 2013-03-24 00:01:27