Git常用命令使用

1.开发规范

  1. 开发前准备工作,从master新建feature分支
  2. 创建release分支,合并feature分支到release分支master分支
  3. 发布到线上正式环境后,合并相应的release分支到master分支,在master分支上添加tag,同时删除该release分支关联的feature分支

2.分支介绍

  1. 主干分支(master):主干分支代码和线上环境运行的代码保持一致,所有新分支都从主干分支检出;
  2. 发布分支(release):所有测试通过的分支都合并到release统一发布,一旦发布出现问题,基于master重建发布分支,将有问题的需求剔除即可;
  3. 测试分支(test):所有开发分支开发完成后合并到test分支,这样就实现了可以同时测试多个需求;
  4. 开发分支(feature):所有开发分支都是从最新的master上检出,开发完成后合并到test分支提测,测试完成后合并到release分支上线;

3.Git常用命令

#创建版本库
git init #初始化本地版本库
git clone <url> #克隆远程版本库

#修改和提交
git status #查看状态
git diff #查看变更内容
git mv <old> <new> #修改文件名称
git add <file1> <file2> #添加指定文件到暂存区
git add <dir> #添加指定目录到暂存区
git add . #添加当前目录的所有文件到暂存区
git rm <file> #删除文件
git rm --cache <file> #清楚缓存去文件但不删除
git commit -m <commit message> #提交缓存区文件到本地仓库

#查看提交历史
git log #查看提交历史
git log -p <file> #查看指定文件提交历史
git blame <file> #以列表方式查看指定文件提交历史

#撤销
git reset --hard HEAD #撤销工作目录中所有未提交的修改内容
git checkout HEAD <file> #撤销指定未提交文件的修改内容
git revert <commit> #撤销指定提交
git reset --soft HEAD^    # 放弃上次提交,保留add
git reset --soft HEAD~1   # 放弃上次提交,保留add
git reset --soft HEAD~2   # 放弃前两次修改,保留add

# 参数 --orphan 作用有两个,一个是拷贝当前所在分支的所有文件,另一个是没有父结点,可以理解为没有历史记录,是一个完全独立背景干净的分支
git checkout --orphan <branch>
将当前分支重命名为master
git branch -m master

#分支与标签
git branch #显示所有本地分支
git checkout <branch/tag> #切换到指定分支或标签
git branch <name> #创建新分支
git branch -d <branch> #删除本地分支
git branch -D <branch> #强制删除本地分支
git push origin --delete <branch> #删除远程分支
git tag #列出本地标签
git show <tagname> #查看版本号
git tag <tagname> #创建标签
git tag -d <tagname> #删除标签
git push origin :refs/tags/<tagname> #删除远程标签
git push origin --delete tag <tagname> #删除远程标签

#合并与衍合
git merge <branch> #合并指定分支到当前分支
git rebase <branch> #衍合指定分支到当前分支

#远程操作
git remote -v #查看远程版本信息
git remote show <remote> #查看指定远程版本库信息
git remote add <remote> <url> #添加远程版本库
git fetch <remote> #从远程库拉去代码到本地,用户检查是否合并到本地分支
git pull <remote> <branch> #将远程分支的内容直接拉取到本地分支。相当于git pull = git fetch + git merge,需手动解决冲突
git push <remote> <branch> #上传代码到远程仓库
git push <remote> :<branch/tagname> #删除远程分支或标签
git push --tags #上传所有标签
#还原
git reset --hard 126f206185f225879f2723ca421f4dee44ca8fe7
git push origin HEAD --force
#查看本地历史
git reflog --date=local | grep fe_fenzhi_20200723

#init 
git init
git remote add origin <url>远程仓库地址

# 查看合并到master本地分支
# -v 排除的分支 -E 正则表达式
git branch --merged master | grep -v -E 'master|*Release'
git branch --merged master | grep -v '^[ *]*master$'
# 删除远程分支
git branch --merged master | grep -v '^[ *]*master$' | sed 's/origin\///g' | xargs -I {} git push origin :{} 
# 删除本地分支
git branch --merged master | grep -v '^[ *]*master$' | xargs git branch -d
# 删除本地分支非master分支
git branch | grep -v -E "*master|*test" | xargs git branch -d
# 查看远程合并到master分支
git branch -a --merged master | grep -v -E 'master|*Release'
git branch --remotes --merged origin/master | grep -v -E 'master|*Release'
# 删除远程分支
git branch --remotes --merged origin/master | grep -v -E 'master|*Release' | cut -b 10- | sed 's/origin\///g' | xargs -I {} git push origin :{} 
# 需要忽略的文件名或路径
git update-index --assume-unchanged 需要忽略的文件名或路径
# 移除被忽略的文件名或路径
git update-index --no-assume-unchanged 移除被忽略的文件名或路径

# 设置全局用户邮箱
git config --global user.name "用户姓名"
git config --global user.email "用户的邮箱地址"
# 清除用户和邮箱
git config --unset --global user.name
git config --unset --global user.email
# 设置项目用户邮箱
git config user.name "用户姓名"
git config user.email "用户的邮箱地址"

参考文章:
[1]: https://www.cnblogs.com/EarlyBridVic/p/12567584.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值