git查看某个文件的修改历史及具体修改内容
git log --pretty=oneline 文件名
在git中出现中文乱码的解决方案
解决方案
- 在cygwin中,使用git add添加要提交的文件的时候,如果文件名是中文,会显示形如 274\232\350\256\256\346\200\273\347\273\223.png 的乱码。
- 在Msysgit中,使用git log显示提交的中文log乱码。
解决方案:- 设置git gui的界面编码
git config --global gui.encoding utf-8
- 设置 commit log 提交时使用 utf-8 编码,可避免服务器上乱码,同时与linux上的提交保持一致!
git config --global i18n.commitencoding utf-8
- 使得在 $ git log 时将 utf-8 编码转换成 gbk 编码,解决Msys bash中git log 乱码。
git config --global i18n.logoutputencoding gbk
- 使得 git log 可以正常显示中文(配合i18n.logoutputencoding = gbk),在 /etc/profile 中添加:
export LESSCHARSET=utf-8
- 设置git gui的界面编码
- 在Msysgit自带的bash中,使用ls命令查看中文文件名乱码。cygwin没有这个问题。
- 终极的解决方案是通过修改git和TortoiseGit源码实现,有网友这么做了:让Windows下Git和TortoiseGit支持中文文件名/UTF-8 ,也可以直接访问这个开源的Google项目:utf8-git-on-windows 。
- 如果不抗拒命令行的话,直接用Cygwin来提交Git库。因为Cygwin其实是一个在Windows平台上的模拟器,它完全模拟GNU/Linux的方式运行,所以Cygwin中的Git是采用UTF-8编码来保存中文的。
回退到某个commit号:git reset --hard 4b6339a108c33a7904c6bf72f018ec2927bc9337
cherry-pick的commit之间有没有做过更改没有直接关系.
如果没有更改, 当然会直接merge没有conflict.
如果二者之间还有过更改, 因为cherry-pick其实是用那次commit的内容进行patch, 所以要分情况看:
- 所做更改没有在diff信息的context范围内, 没有冲突.
- 所做更改在diff信息的context范围内, 你需要解决这个冲突才能merge.
后期会继续补存
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。