Git的使用

Git的使用

初始化

1
2
3
4
5
6
7
git config --global user.name "Wed0n"
git config --global user.email "[email protected]"
git config --global init.defaultBranch main
git config --global core.quotepath off
git config --global core.editor vim
# Windows设置
git config --global core.filemode false

常用命令

1
2
3
4
5
6
7
8
9
10
11
12
git commit -am "Comment" #自动追踪变化并提交
git branch -m master main #将分支master重命名为main
git reflog --date=iso#显示对目录树的修改记录
git ls-tree -r HEAD --name-only #显示已跟踪的文件
git rm --cached <file> #删除跟踪的指定文件(已经跟踪的文件只能删除,没有忽略的选项)

#配置push
git remote add origin [email protected]:wed0n/README.git
git remote set-url origin [email protected]:wed0n/README.git
git push --set-upstream origin main

git clone --recurse-submodules --depth 1 <url> #递归clone submodules

Git撤销提交

  • 完整撤销 git reset –soft HEAD^
  • 修改上次提交 git commit –amend

撤销的具体参数

  • –mixed 不删除工作空间改动代码,撤销commit,并且撤销 git add 操作
  • –soft 不删除工作空间改动代码,撤销commit,不撤销git add
  • –hard 删除工作空间改动代码,撤销commit,撤销git add,即直接恢复至上次提交的状态

Angular 规范

1
2
3
4
5
<类型>[可选的作用域]:<描述>

[可选的正文]

[可选的脚注]

类型清单

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

SSH Config的配置

1
2
3
4
5
6
Host github.com git.coding.net
HostName %h
Port 22
User git
IdentityFile ~/.ssh/github
IdentitiesOnly yes

通过环境变量指定SSH私钥

1
export GIT_SSH_COMMAND='ssh -i private_key_file -o IdentitiesOnly=yes'

通过Git与Bash统计当前项目中每位成员的代码行数

1
git ls-files | xargs -n1 git blame --line-porcelain | sed -n -e 's/^author //p' | sort -f | uniq -ic | sort -nr

Github token的使用

1
2
git config --global github.user wed0n
git config --global github.token <token>