整理我的Git常见问题和命令

Posted by Dapenson on April 28, 2020

整理我的Git常见问题和命令


[toc]


提交注释规范

举例:feat(电控/code):实现通讯功能

  • feat:新功能(feature)
  • fix:修补bug
  • docs:文档(documentation)
  • style:格式(不影响代码运行的变动)
  • refactor:重构(即不是新增功能,也不是修改bug的代码变动)
  • test:增加测试
  • chore:构建过程或辅助工具的变动

合并分支

git 在pull或者合并分支的时候有时会遇到合并分支注释界面。可以不管(直接下面3,4步),如果要输入解释的话就需要:

  1. 按键盘字母i进入inser模式
  2. 修改最上面那行黄色合并信息,可以不修改
  3. 按键盘左上角”Esc”
  4. 输入:wq按回车键即可

clone & 切换分支

  • git clone 仓库地址
  • git branch -r //查看远程分支
  • git branch -vv //查看本地分支跟踪信息
  • git checkout 远程分支名 //切换到该分支,如果本地无该分支就创建分支并切换

支持中文路径显示

  • git config --global core.quotepath false //支持bash中路径中文字符的显示,[参考链接][中文支持]

账户及密码

  • git配置是输入输入登录账号或密码错误导致没有权限,可采用[此方法更改Windows凭据][Windows更改凭据]

基于远程分支创建本地分支

  • 查看本地分支与远程分支的对应关系

```
git branch -vv //查看设置的所有跟踪分支,可以使用 git branch 的 -vv 选项。 这会将所有的本地分支列出来并且包含更多的信息,如每一个分支正在跟踪哪个远程分支与本地分支是否是领先、落后或是都有。
git branch -v -a //显示当前使用仓库的所有分支
git remote show origin // 查看本地分支与远程分支的对应关系

​```

  • 跟踪远程分支
    • 如果远程新建了一个分支,本地没有该分支,使用以下命令,本地会新建一个分支名叫branch_name,会自动跟踪远程的同名分支branch_name
      git checkout --track origin/branch_name
    • 用上面中方法,得到的分支名永远和远程的分支名一样,如果想新建一个本地分支不同名字,同时跟踪一个远程分支可以利用
      git checkout -b new_branch_name branch_name

配置别名

  • st就表示status
    git config --global alias.st status
  • co表示checkout
    git config --global alias.co checkout
  • ci表示commit
  • git config --global alias.ci commit
  • br表示branch
    git config --global alias.br branch
  • git last,让其显示最后一次提交信息
    git config --global alias.last 'log -1'
  • 配置git lg
    git config --global alias.lg "log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit"

Windows系统Git的LF/CRLF自动转换

在Windows环境中,换行符是CRLF,也就是\r\n,但是在Linux环境中,换行符是LF,也就是\n,但git在维护版本库的时候统一使用的是LF,这样就可以保证文件跨平台的时候保持致。但导致window下的换行符与git下不一致,这样就会弹出警告。

在Windows下默认的换行符是CRLF,那么我们需要保证在文件提交到版本库的时候文件的换行符是LF,添加:git config –global core.autocrlf false即可,关闭自动替换,可以在Git文件系统的根目录的”.gitconfig”中看到相关配置

git config --global core.autocrlf false

仓库修改地址之后无法推送

由于尝试将码云个人版更换为企业版(免费版)之后,仓库地址变更导致本地仓库无法进行推送,基于此,可打开本地仓库根目录下的.git文件夹,对里面的config文件进行修改,将url修改为变更后的git仓库地址保存即可,稍等片刻即可进行推送