常用命令
查看用户名 :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 (第一次输入,后续就不用再次数据)
提交代码
git init:会在当前目录生成一个.git的文件夹git status:查看 修改过的(绿色标识)、新创建的(红色标识)、已经暂存但未提交的文件(白色标识)git add index.txt:将指定文件添加到缓存中,git add .则是将所有文件添加到缓存中git commit -m "备注信息-提交说明":本次提交的说明或备注信息git remote add origin git项目仓库地址:提交到指定仓库地址、替换自己对应的仓库地址提交git push -u origin master:push推送。如果本地分支为 master 分支,想将本地代码 push 到 dev 分支可执行命令:git push -u origin master:dev
git pull 代码时与本地代码有冲突时
git stashgit pullgit stash pop stash{0}- 本地解决冲突
- 提交
切换分支
git checkout branch_name: 切换到已存在的分支,例如本地分支为 master ,想切换为 dev,执行命令git checkout devgit checkout -b new_branch_name: 创建并切换到新分支git checkout -: 切换到上一个分支
要将 A 分支的代码合并到本地的 B 分支,可以按照以下步骤操作:
- 首先确保本地仓库是最新的,拉取远程仓库的最新代码:
git fetch origin
- 确认当前处于 B 分支(如果不是则切换到 B 分支):
# 查看当前分支
git branch
# 如果不在B分支,切换到B分支
git checkout B
- 将 A 分支合并到当前的 B 分支:
git merge origin/A
- 如果合并过程中出现冲突,需要手动解决冲突文件,然后提交:
# 解决冲突后添加修改的文件
git add <冲突文件>
# 完成合并提交
git commit -m "合并A分支到B分支,解决冲突"
- 最后将合并后的 B 分支推送到远程仓库(如果需要):
git push origin B
git 切换账号
- 方案一:不使用命令切换用户
桌面右键
git->设置-Git->(此时可查看当前git用户)实际生效,下面编辑全局的.config->分别把name 和emil改成自己的(注意格式)
- 方案一: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”报错的解决方法
解决步骤:
- 按键盘上的
i键可进入插入模式- 这时可以修改最上方的黄色部分,改成你想写的合并原因
- 按键盘上的
Esc键退出插入模式- 最后在最下面输入
“ :wq ”后按回车键即可