我已经found如何将批量批发的文件从一个分支复制到另一个分支:
编辑,请注意,如果您认为此问题与this重复,请注意,这是我上面链接的问题^^,并且 以下内容解释了我想要的不同功能。
sourceSets.main.java
但是,此解决方案已经分阶段进行了更改:
$ git checkout directory/somefile.php feature-B
但是我不想添加所有更改。我想做一个$ git status
On branch feature-A
Your branch is up-to-date with 'origin/feature-A'.
Changes to be committed:
(use "git reset HEAD <file>..." to unstage)
modified: directory/somefile.php
并接受大部分但不是全部的更改。我想要的是这个
add -p
当然,我可以$ git status
On branch feature-A
Your branch is up-to-date with 'origin/feature-A'.
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git checkout -- <file>..." to discard changes in working directory)
modified: directory/somefile.php
no changes added to commit (use "git add" and/or "git commit -a")
撤消更改,但是我想第一次获得想要的东西,而无需第二步。
如何在不进行暂存的情况下从另一个分支复制文件?
答案 0 :(得分:3)
您可以使用git show然后进行重定向...虽然不是很优雅
git show feature-B:directory/somefile.php > directory/somefile.php
答案 1 :(得分:0)
您可以使用git restore
git restore --source feature-B directory/somefile.php
我没有传递任何选项来说明应将文件还原到哪里,并且通过错误指出它是工作目录(没有索引/临时区域)。来自文档:
> -W > --worktree > -S > --staged > > Specify the restore location. If neither option is specified, by default the working tree is restored. Specifying --staged will only restore the index. Specifying both restores both.