git使用之一二

1、当从git地址克隆源码后,整个源码就在一个文件夹中,过了一段时间后,你可能不知道原来的git地址了,这时候进到这个文件夹里,敲git remote -v,就能看到该源码的git地址。

2、由于linux和windows文件换行所使用的换行符差别,windows下是\r\n,linux下是\n。这样在不同的平台检出/检入代码就需要进行转换,否则源码中就有可能出现两种换行符。由于默认的换行符以linux的\n为准,所以就有一个针对windows平台的配置选项解决这一问题,即core.autocrlf。windows下使用git开启此选项:git config --global core.autocrlf true,这样windows下检出的代码如果是\n结尾的,就会自动转换为\r\n,而在检入代码时,又会自动将行尾的\r\n转换为\n。如果不希望开启这种自动转换,可以使用:git config --global core.autocrlf false关掉它。此外还有一个选项:core.safecrlf,它是用来检查代码,如果代码中存在混合换行符(即同时存在\r\n和\n结尾)时,是否禁止提交或产生警告。禁止提交:git config --global core.safecrlf true;允许提交:git config --global core.safecrlf false;提交时若存在混合换行符时则产生警告:git config --global core.safecrlf warn。要查看所有配置,使用命令:git config -l;要查看某一选项的设置,比如查看core.autocrlf,使用git config --global core.autocrlf,返回当前设置的值,如果选项未设置过,返回为空。

还有一个选项merge.renormalize,它的解释如下:

Tell git that canonical representation of files in the repository has changed over time (e.g. earlier commits record text files with CRLF line endings, but recent ones use LF line endings). In such a repository, git can convert the data recorded in commits to a canonical form before performing a merge to reduce unnecessary conflicts.

如果把该选项设置为true,即:git config merge.renormalize true,表示在合并前,git会先将commits中的数据的行尾换行符转换为规范形式。

3、由于git对文件的访问权限默认是区分的,即它把文件访问权限的变更也视为修改。从linux仓库克隆代码到windows下,可能会发生文件权限的改变。要在合并时忽略这种差异,可以修改core.filemode选项:git config core.filemode false。

发布了282 篇原创文章 · 获赞 140 · 访问量 117万+

猜你喜欢

转载自blog.csdn.net/qiuchangyong/article/details/104160034
今日推荐