【Git】合并另一个分支上的单个文件到当前分支

文章目录

  • 改动要合并的文件(加个无用的注释什么的)后Ctrl + S保存,然后查看文件路径并复制
➜  csdn git:(test) git status
On branch test
Your branch is ahead of 'origin/test' by 1 commit.
  (use "git push" to publish your local commits)

Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git restore <file>..." to discard changes in working directory)
        modified:   src/pages/components/modal.tsx

no changes added to commit (use "git add" and/or "git commit -a")
# src/pages/components/modal.tsx 就是我们要的文件路径
  • 复制好文件路径后,再把无用的改动丢弃
# 该命令会回退工作区的所有改动
➜  csdn git:(test) git checkout -- .
➜  csdn git:(test) git status
On branch test
Your branch is ahead of 'origin/test' by 1 commit.
  (use "git push" to publish your local commits)

nothing to commit, working tree clean
  • 然后再切换到当前分支(dev):
➜  csdn git:(test) git checkout dev 
➜  csdn git:(dev)
  • 比如要把 test 分支上的 modal.tsx文件 合并到 dev分支上,就可以这样做:
➜  csdn git:(dev) git checkout --patch test src/pages/components/modal.tsx
# 这里选择处理方式:将此块应用于索引和工作树(输入 `y` ,按回车)
(1/3) Apply this hunk to index and worktree [y,n,q,a,d,j,J,g,/,s,e,?]? 	y
(2/3) Apply this hunk to index and worktree [y,n,q,a,d,j,J,g,/,s,e,?]? 	y
(3/3) Apply this hunk to index and worktree [y,n,q,a,d,j,J,g,/,s,e,?]? 	y
  • 解析
y - 存储这个hunk 
n - 不存储这个hunk 
q - 离开,不存储这个hunk和其他hunk 
a - 存储这个hunk和这个文件后面的hunk 
d - 不存储这个hunk和这个文件后面的hunk 
g - 选择一个hunk 
/ - 通过正则查找hunk 
j - 不确定是否存储这个hunk,看下一个不确定的hunk 
J - 不确定是否存储这个hunk,看下一个hunk 
k - 不确定是否存储这个hunk,看上一个不确定的hunk 
K -不确定是否存储这个hunk,看上一个hunk 
s - 把当前的hunk分成更小的hunks 
e - 手动编辑当前的hunk 
? - 输出帮助信息

猜你喜欢

转载自blog.csdn.net/qq_45677671/article/details/131053628
今日推荐