繁体   English   中英

git 结帐<branch><file path>与当前内容不符<branch></branch></file></branch>

[英]git checkout <branch> <file path> does not match what is on <branch>

我对git有一个令人困惑的问题

main/development上,我有一个文件,其中包含UsersTable.tsx的最新更改

在我的工作分支chore/add-linting中,我有一些提交,但我想从main/developmentUsersTable.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 fetchgit 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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM