作者:jicanmeng
时间:2014年08月30日
使用git rev-parse --git-dir
命令来获取工作区的根目录(也就是.git目录所在的目录):
[jicanmeng@andy programming]$ git rev-parse --git-dir
/home/jicanmeng/Desktop/virtualbox/windowsXP-cygwin/myBlog2/.git
[jicanmeng@andy programming]$ pwd
/home/jicanmeng/Desktop/virtualbox/windowsXP-cygwin/myBlog2/programming
[jicanmeng@andy programming]$
如果我们在windows环境下编辑一个文件,在linux环境下将这个文件添加到git库中,有可能会出现下面这样的情况:
可以看到,在每一行的末尾都有一个^M字符。这是因为在windows环境下编辑文件时每一行的换行符都是0x0D,0x0A,在linux环境下编辑文件时每一行的换行符都是0x0A。将windows环境下的文件放到linux环境下打开,就会出现上面的字样。同样的,将linux环境下的文件放到windows环境下打开,可能会出现没有换行的情况。文件中有这个^M也没什么影响,只是看着有点儿不爽。
我们在使用git时遇到这种情况,可以有如下的方法来应对:
对于第一种方法,使用下面的命令即可:
[jicanmeng@andy programming]$ git config --global core.whitespace cr-at-eol
[jicanmeng@andy programming]$
对于第二种方法,可以使用notepad++打开文件,选择"编辑"->"档案格式转换"->"转换为UNIX格式"即可。但对于多个文件的转换来说,就比较慢了,可以使用sed来更快地完成这项工作:
这里需要注意的一点是:在sed命令时输入^M字符时不是先输入^再输入M,而是先输入Ctrl+v,再输入Ctrl+M。