Git笔记
2020年2月22日Push remote branch to a given sha
如图,我想要把origin/master移动到8ff881。
不能用简单的push命令,它会把origin/master push到local master (dafac0)的位置。应该用命令
git push origin 8ff881:master
或git push origin 8ff881:refs/heads/master
。注意,如果要创建新的远程分支,必须用有refs/heads/
的语法。
还原子模块工作树的修改
问题现象:TortoiseGit日志窗口的工作树变更显示子模块已修改。右击该子模块,还原,但修改仍然存在。
修复方法:
git submodule update --init
如何查看提交中是否包含重命名或复制?
$ git log --name-status -M -C -1 commit c04ecb6edd602a8463b5239a5fde900b2b3 (HEAD -> 256818) Author: gqqnbig <gqqnbig@gmail.com> Date: Wed Nov 15 10:45:17 2017 -0800 Extract controls from ReviewApplication.aspx so that they can be reused in viewSummary.aspx. BugzID: 256818 M Xpress/LoanApp/App_LocalResources/ReviewApplication.aspx.pl.resx M Xpress/LoanApp/App_LocalResources/ReviewApplication.aspx.resx M Xpress/LoanApp/ReviewApplication.aspx M Xpress/LoanApp/ReviewApplication.aspx.vb A Xpress/inc/App_LocalResources/ReviewApplication.ascx.resx C067 Xpress/LoanApp/ReviewApplication.aspx Xpress/inc/ReviewApplication.ascx A Xpress/inc/ReviewApplication.ascx.vb
这个命令要求查看最近一条提交(-1),并启用重命名(-M)和复制(-C)检测。
结果显示ReviewApplication.ascx是ReviewApplication.aspx的复制,相似度67%。
如何查看复制或移动的文件的diff?
如果只查看某一提交里某一文件的diff,则运行
git difftool c04ecb^:Xpress/LoanApp/ReviewApplication.aspx c04ecb:Xpress/inc/ReviewApplication.ascx
如果查看某一提交的所有文件的diff,则运行
git difftool -M -C --find-copies-harder c04ecb^ c04ecb
选择性贮藏
git stash -p
本文原发表于2018年4月10日。