git日常使用记录
git日常使用记录
git中LF和CRLF换行符
跨平台协作开发还是挺多的,LF(0x0A)是Linux默认的换行符,
CRLF(0x0D)是Windows下默认的换行符
git中提供了autocrlf配置项,用于在提交和检出时自动转换换行符,该配置有三个选项
- true:提交时转换为LF,检出时转换为CRLF
- false:提交检出均不转换
- input:提交时转换为LF,检出时不转换
# 提交时转换为LF,检出时转换为CRLF
git config --global core.autocrlf true
# 提交时转换为LF,检出时不转换
git config --global core.autocrlf input
# 提交检出均不转换
git config --global core.autocrlf false
如果把autocrlf设置为false时,另一个配置项safecrlf最好设置为true,
该选项检查文件是否包含混合换行符
- true:拒绝提交包含混合换行符的文件
- false:允许提交包含混合换行符的文件
- warn:提交包含混合换行符的文件时给出警告
# 拒绝提交包含混合换行符的文件
git config --global core.safecrlf true
# 允许提交包含混合换行符的文件
git config --global core.safecrlf false
# 提交包含混合换行符的文件时给出警告
git config --global core.safecrlf warn
推荐配置
Administrator@DESKTOP-O5KFMG9 MINGW64 ~
$ git config --global core.autocrlf input
Administrator@DESKTOP-O5KFMG9 MINGW64 ~
$ git config --global core.safecrlf true
# 验证是否配置成功
$ git config --global --list
让代码仓库统一使用换行符LF,如果文件中包含CRLF类型的文件时将无法提交,使用dos2unix工具或其他工具手动转换文件类型
windows下git批量将换行符CRLF转换为LF
根据文件名后缀来进行转换
$ find . -name "*.sh" | xargs dos2unix
$ find . -name "*.yml" | xargs dos2unix
$ find . -name "*.yaml" | xargs dos2unix
$ find . -name "*.sql"| xargs dos2unix
根据文件类型来进行转换
$ find . -type f | xargs dos2unix
排除单个文件夹进行转换
-prune
将前面匹配的路径进行排除
-o
表示逻辑运算符的或
$ find . -path "./.git" -prune -o -print | xargs dos2unix
排除多个文件夹进行转换
$ find . \( -path ./.git -o -path ./.vscode \) -prune -o -print | xargs dos2unix
http://kuanghy.github.io/2017/03/19/git-lf-or-crlf
其他
创建新的分支并切换到新的分支
git checkout -b dev
首次 推送至远程仓库
$ git push --set-upstream origin dev
设置忽略git跟踪的文件
在主目录下创建.gitignore
文件
gitignore忽略规则
target //忽略这个target目录
target.json //忽略这个target.json文件
target/* //忽略target下的所有文件
css/*.css //忽略css目录下的.css文件
gitignore文件
.idea //忽略.vscode这个文件夹
添加.gitignore文件
git add .gitignore
git commit -m "xxx"
git push
此时查看远程会发现.vscode这个文件夹仍然存在
解决:清除被忽略文件夹的本地缓存
$ git rm -r --cached .idea
rm '.idea/.gitignore'
rm '.idea/inspectionProfiles/profiles_settings.xml'
rm '.idea/lixinger.iml'
rm '.idea/vcs.xml'
rm '.idea/workspace.xml'
再次提交
合并远程分支到本地
//查询当前远程的版本
$ git remote -v
//获取最新代码到本地(本地当前分支为[branch],获取的远端的分支为[origin/branch])
$ git fetch origin master [示例1:获取远端的origin/master分支]
$ git fetch origin dev [示例2:获取远端的origin/dev分支]
//查看版本差异
$ git log -p master..origin/master [示例1:查看本地master与远端origin/master的版本差异]
$ git log -p dev..origin/dev [示例2:查看本地dev与远端origin/dev的版本差异]
//合并最新代码到本地分支
$ git merge origin/master [示例1:合并远端分支origin/master到当前分支]
$ git merge origin/dev [示例2:合并远端分支origin/dev到当前分支]
https://hanchao.blog.csdn.net/article/details/79162130
pycharm的设置中找不到project选项
解决:关闭pycharm软件,删除.idea
文件夹,重新打开pycharm软件,打开项目,右下角出现配置项目解释器,配置项目解释器即可。
远端分支同步至新设备本地
本地创建文件夹
初始化git文件夹
git init
关联远程仓库
git remote add origin https://gitee.com/xxxxx/xxx.git
拉取远端所有分支
git fetch
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)