[英]git checkout <branch> <file path> does not match what is on <branch>
我對git
有一個令人困惑的問題
在main/development
上,我有一個文件,其中包含UsersTable.tsx
的最新更改
在我的工作分支chore/add-linting
中,我有一些提交,但我想從main/development
中UsersTable.tsx
的最新代碼。
我表演了:
$ git pull origin main/development
# oh no, I have a couple merge conflicts
# I want this file to be whatever is exactly on `main/development`
$ git checkout main/development path/to/UsersTable.tsx
Updated 1 path from f59fed63
但是,該文件不是main/development
! 它為我檢查的版本仍然落后於main/development
並且具有舊代碼。
這里發生了什么? 我做了git fetch
和git pull
。
每當您需要恢復一個文件時,您可以考慮使用命令git restore
而不是舊的和令人困惑的git checkout
。
在你的情況下:
git fetch
git restore -SW -s origin/main/development -- path/to/UsersTable.tsx
這樣,您就不會拉動,這意味着不要將origin/main/development
合並到chore/add-linting
,因此您不會與經理發生任何合並沖突。
您只需從另一個分支的版本恢復一個文件內容。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.