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