Eclipse:"Replace with branch, tag or version" 没有按预期工作
Eclipse: "Replace with branch, tag or version" does not work as expected
我正在尝试用另一个分支中的目录替换当前分支中存在的目录。 Eclipse 无法删除原来位于原始分支但不位于其他分支的文件。
示例:
Current branch: A
Directory: src
在此分支 src 中有一个名为 NoLongerRequired.java
的文件
Another branch B
Directory: src
在此分支 src
中没有名为 NoLongerRequired.java
的文件
我在分支 A
上,想删除 A's src
目录并将其替换为 B's src
目录
所以我 select src
目录并转到 Eclipse 中的 Replace with Branch Tag or Commit
选项并选择分支 B
.
但是,我仍然在 src
目录中看到 NoLongerRequired.java
。
看起来实施的操作与 git checkout B -- src/
类似:B
中列出的文件已检出,但 A
中跟踪的文件而非 B
中跟踪的文件] 保持原状。
如果您的计算机上安装了 git,版本为 2.25 或更高,您可以使用 git restore
从命令行执行此操作:
# use --staged to set B's content in the staging area :
git restore --source B --staged -- src/
# --worktree to set the content on disk :
git restore --source B --worktree -- src/
# a word of warning : if you have uncommitted changes in src/, this may delete
# files which aren't committed in git yet.
# you can combine both options in one call :
git restore --source B --staged --worktree -- src/
git restore
帮你删除。
我正在尝试用另一个分支中的目录替换当前分支中存在的目录。 Eclipse 无法删除原来位于原始分支但不位于其他分支的文件。
示例:
Current branch: A
Directory: src
在此分支 src 中有一个名为 NoLongerRequired.java
Another branch B
Directory: src
在此分支 src
中没有名为 NoLongerRequired.java
我在分支 A
上,想删除 A's src
目录并将其替换为 B's src
目录
所以我 select src
目录并转到 Eclipse 中的 Replace with Branch Tag or Commit
选项并选择分支 B
.
但是,我仍然在 src
目录中看到 NoLongerRequired.java
。
看起来实施的操作与 git checkout B -- src/
类似:B
中列出的文件已检出,但 A
中跟踪的文件而非 B
中跟踪的文件] 保持原状。
如果您的计算机上安装了 git,版本为 2.25 或更高,您可以使用 git restore
从命令行执行此操作:
# use --staged to set B's content in the staging area :
git restore --source B --staged -- src/
# --worktree to set the content on disk :
git restore --source B --worktree -- src/
# a word of warning : if you have uncommitted changes in src/, this may delete
# files which aren't committed in git yet.
# you can combine both options in one call :
git restore --source B --staged --worktree -- src/
git restore
帮你删除。