Git的使用随记

181 阅读3分钟

常用命令

查看用户名 :git config user.name 
查看密码: git config user.password 
查看邮箱:git config user.email 
查看配置信息: git config --list 
修改用户名: git config --global user.name "xxxx(新的用户名)" 
修改密码: git config --global user.password "xxxx(新的密码)" 
修改邮箱: git config --global user.email "xxxx@xxx.com(新的邮箱)" 

报错用户名过多时: 
  git config --global --replace-all user.name "你的 git 的名称" 
  git config --global --replace-all uesr.email "你的 git 的邮箱"
  • git commit之后,想撤销commit

git reset --soft HEAD^

  • git 解决每次更新代码都要输入用户名密码的解决方案
git config --global credential.helper store
git pull /git push (第一次输入,后续就不用再次数据)

提交代码

  1. git init:会在当前目录生成一个.git的文件夹
  2. git status:查看 修改过的(绿色标识)、新创建的(红色标识)、已经暂存但未提交的文件(白色标识)
  3. git add index.txt:将指定文件添加到缓存中,git add . 则是将所有文件添加到缓存中
  4. git commit -m "备注信息-提交说明":本次提交的说明或备注信息
  5. git remote add origin git项目仓库地址:提交到指定仓库地址、替换自己对应的仓库地址提交
  6. git push -u origin masterpush推送。如果本地分支为 master 分支,想将本地代码 push 到 dev 分支可执行命令:git push -u origin master:dev

git pull 代码时与本地代码有冲突时

  1. git stash
  2. git pull
  3. git stash pop stash{0}
  4. 本地解决冲突
  5. 提交

切换分支

  1. git checkout branch_name : 切换到已存在的分支,例如本地分支为 master ,想切换为 dev,执行命令 git checkout dev
  2. git checkout -b new_branch_name : 创建并切换到新分支
  3. git checkout - : 切换到上一个分支

要将 A 分支的代码合并到本地的 B 分支,可以按照以下步骤操作:

  1. 首先确保本地仓库是最新的,拉取远程仓库的最新代码:
git fetch origin
  1. 确认当前处于 B 分支(如果不是则切换到 B 分支):
# 查看当前分支 
git branch 
# 如果不在B分支,切换到B分支 
git checkout B
  1. 将 A 分支合并到当前的 B 分支:
git merge origin/A
  1. 如果合并过程中出现冲突,需要手动解决冲突文件,然后提交:
# 解决冲突后添加修改的文件 
git add <冲突文件> 
# 完成合并提交 
git commit -m "合并A分支到B分支,解决冲突"
  1. 最后将合并后的 B 分支推送到远程仓库(如果需要):
git push origin B

git 切换账号

  1. 方案一:不使用命令切换用户
桌面右键
git->设置-Git->(此时可查看当前git用户)实际生效,下面编辑全局的.config->分别把name 和emil改成自己的(注意格式)
  1. 方案一:gitbash
git config user.name //查看当前用户
git config user.email //查看邮箱
git config --global user.name "Your_username" //修改用户
git config --global user.email "Your_email" //修改邮箱

代码统计

1.统计指定时间段内的新增/删除代码行数

since为开始时间,如:2022-01-01

until为截止时间,如:2022-11-17

git log --since=2022-01-01 --until=2022-11-17 --format='%aN' | sort -u | while read name; do echo -en "$name\t"; git log --author="$name" --pretty=tformat: --numstat | grep "\(.html\|.java\|.xml\|.properties\)$" | awk '{ add += $1; subs += $2; loc += $1 - $2 } END { printf "added lines: %s, removed lines: %s, total lines: %s\n", add, subs, loc }' -; done

2.统计指定时间段内+指定作者的新增/删除代码行数

指定时间:2022-01-01~2022-11-17 ;

指定作者:qiuer

git log --author=qiuer --since=2022-01-01 --until=2022-11-17 --format='%aN' | sort -u | while read name; do echo -en "$name\t"; git log --author="$name" --pretty=tformat: --numstat | grep "\(.html\|.java\|.xml\|.properties\)$" | awk '{ add += $1; subs += $2; loc += $1 - $2 } END { printf "added lines: %s, removed lines: %s, total lines: %s\n", add, subs, loc }' -; done

3.统计指定项目所有的代码行数

git log  --pretty=tformat: --numstat | awk '{ add += $1; subs += $2; loc += $1 - $2 } END { printf "added lines: %s, removed lines: %s, total lines: %s\n", add, subs, loc }'

报错或问题

1、git合并分支时出现“Please enter a commit message to explain why this merge is necessary”报错的解决方法

08.png

解决步骤:

  1. 按键盘上的 i 键可进入插入模式
  2. 这时可以修改最上方的黄色部分,改成你想写的合并原因
  3. 按键盘上的 Esc 键退出插入模式
  4. 最后在最下面输入 “ :wq ” 后按回车键即可