簡體   English   中英

Git強制覆蓋本地跟蹤文件,但不覆蓋本地未跟蹤文件

[英]Git force overwrite of local tracked files but not local untracked files

我在一個名為p1的本地目錄中工作,該目錄包含一個git repo。 添加分支並在添加的分支上進行提交后,我制作了目錄p1的副本並將其命名為p2 我的目的是在目錄p2使用合並和重新定位(只是為了學習),同時在我確定如何合並/重新定義我的更改時從p1推送到遠程倉庫。

但是,我意外地進行了合並,然后從p2目錄推送到遠程倉庫。 這沒關系,因為現在遠程倉庫具有我的git項目的正確狀態。

但是,我現在需要用遠程倉庫中的內容替換目錄p1中的內容。 這樣,目錄p1將是最新的。

當我進入目錄p1並嘗試從遠程倉庫中取出時,我得到的是:

git pull
Updating e07d50d..287ec08
error: Your local changes to the following files would be overwritten by merge:
    debug/external/subdir.mk
    debug/makefile
    debug/subdir.mk
    input/parameters.cfg
    main.cpp
Please, commit your changes or stash them before you can merge.
Aborting

現在,我已經找到了這個問題的潛在解決方案,如

但是,在我的情況下,問題是目錄p2包含未跟蹤的文件,當我從遠程倉庫中取出時,我不想刪除這些文件

那么,我如何從遠程倉庫中提取,覆蓋我的本地跟蹤文件,而不刪除本地未跟蹤文件?


注意: 這里的答案之一似乎適合我,但我不是100%肯定。

git fetch
git reset --hard origin/master

暫無
暫無

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

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