Git常用命令

Git 常用命令 (备忘)

分支命名规范

  • master 主分支
    • 主分支,永远是可用的、稳定的、可直接发布的版本,不能直接在该分支上开发
  • develop 开发分支
    • 开发主分支,代码永远是最新,所有新功能以这个分支来创建自己的开发分支,该分支只做只合并操作,不能直接在该分支上开发
  • feature-xxx
    • 功能开发分支,在develop上创建分支,以自己开发功能模块命名,功能测试正常后合并到develop分支
  • release
    • 预发布分支,在合并好feature分支的develop分支上创建,主要是用来提测的分支,修改好 bug 并确定稳定之后合并到developmaster分支,然后发布master分支
  • release-fix
    • 功能 bug 修复分支,在release上创建分支修复,修复好提测的 bug 之后合并回release分支
  • hotfix-xxx
    • 紧急 bug 修改分支,项目上线之后可以会遇到一些环境问题需要紧急修复,在对应版本的 release 分支上创建,流程跟release分支相似,修复完成后合并release分支,根据情况判断需不需要再合并到developmaster分支

Git 命令

git init初始化本地 git 仓库(创建新仓库)
git config –global user.name “xxx”配置用户名
git config –global user.email “xxx@xxx.com配置邮件
git config –global color.ui truegit status 等命令自动着色
git config –global color.status auto
git config –global color.diff auto
git config –global color.branch auto
git config –global color.interactive auto
git config –global –unset http.proxy删除 git 上的代理配置
git clone git+ssh://git@192.168.53.168/VT.git克隆远程仓库
git status查看当前版本状态(是否修改)
git add xyz添加 xyz 文件至 index
git add .增加当前子目录下所有更改过的文件至 index
git commit -m ‘xxx’提交
git commit –amend -m ‘xxx’合并上一次提交(用于反复修改)
git commit -am ‘xxx’将 add 和 commit 合为一步
git rm xxx删除 index 中的文件
git rm -r递归删除
git log显示提交日志
git log -1显示 1 行日志 -n 为 n 行
git log -5
git log –stat显示提交日志及相关变动文件
git log -p -m
git show dfb02e6e4f2f7b573337763e5c0013802e392818显示某个提交的详细内容
git show dfb02可只用 commitid 的前几位
git show HEAD显示 HEAD 提交日志
git show HEAD^显示 HEAD 的父(上一个版本)的提交日志 ^^为上两个版本 ^5 为上 5 个版本
git tag显示已存在的 tag
git tag -a v2.0 -m ‘xxx’增加 v2.0 的 tag
git show v2.0显示 v2.0 的日志及详细内容
git log v2.0显示 v2.0 的日志
git diff显示所有未添加至 index 的变更
git diff –cached显示所有已添加 index 但还未 commit 的变更
git diff HEAD^比较与上一个版本的差异
git diff HEAD – ./lib比较与 HEAD 版本 lib 目录的差异
git diff origin/master..master比较远程分支 master 上有本地分支 master 上没有的
git diff origin/master..master –stat只显示差异的文件,不显示具体内容
git remote add origin git+ssh://git@192.168.53.168/VT.git增加远程定义(用于 push/pull/fetch)
git branch显示本地分支
git branch –contains 50089显示包含提交 50089 的分支
git branch -a显示所有分支
git branch -r显示所有原创分支
git branch –merged显示所有已合并到当前分支的分支
git branch –no-merged显示所有未合并到当前分支的分支
git branch -m master master_copy本地分支改名
git checkout -b master_copy从当前分支创建新分支 master _copy 并检出
git checkout -b master master_copy上面的完整版
git checkout features/performance检出已存在的 features/performance 分支
git checkout –track hotfixes/BJVEP933检出远程分支 hotfixes/BJVEP933 并创建本地跟踪分支
git checkout v2.0检出版本 v2.0
git checkout -b devel origin/develop从远程分支 develop 创建新本地分支 devel 并检出
git checkout – README检出 head 版本的 README 文件(可用于修改错误回退)
git merge origin/master合并远程 master 分支至当前分支
git cherry-pick ff44785404a8e合并提交 ff44785404a8e 的修改
git push origin master将当前分支 push 到远程 master 分支
git push origin :hotfixes/BJVEP933删除远程仓库的 hotfixes/BJVEP933 分支
git push –tags把所有 tag 推送到远程仓库
git fetch获取所有远程分支(不更新本地分支,另需 merge)
git fetch –prune获取所有原创分支并清除服务器上已删掉的分支
git pull origin master获取远程分支 master 并 merge 到当前分支
git mv README README2重命名文件 README 为 README2
git reset –hard HEAD将当前版本重置为 HEAD(通常用于 merge 失败回退)
git rebase
git branch -d hotfixes/BJVEP933删除分支 hotfixes/BJVEP933(本分支修改已合并到其他分支)
git branch -D hotfixes/BJVEP933强制删除分支 hotfixes/BJVEP933
git ls-files列出 git index 包含的文件
git show-branch图示当前分支历史
git show-branch –all图示所有分支历史
git whatchanged显示提交历史对应的文件修改
git revert dfb02e6e4f2f7b573337763e5c0013802e392818撤销提交 dfb02e6e4f2f7b573337763e5c0013802e392818
git ls-tree HEAD内部命令:显示某个 git 对象
git rev-parse v2.0内部命令:显示某个 ref 对于的 SHA1 HASH
git reflog显示所有提交,包括孤立节点
git show HEAD@{5}
git show master@{yesterday}显示 master 分支昨天的状态
git log –pretty=format:’%h %s’ –graph图示提交日志
git show HEAD~3
git show -s –pretty=raw 2be7fcb476
git stash暂存当前修改,将所有至为 HEAD 状态
git stash list查看所有暂存
git stash show -p stash@{0}参考第一次暂存
git stash apply stash@{0}应用第一次暂存
git grep “delete from”文件中搜索文本“delete from”
git grep -e ‘ define’ –and -e SORT_DIRENT
git gc
git fsck

常用命令

创建分支

1
git branch ***

切换分支

1
git checkout ***

查看远程分支

1
git branch -r

查看本地分支

1
git branch

查看本地和远程分支

1
git branch -a

删除远程分支

1
2
git push origin --delete  ***
git push origin -d ***

参考:https://gist.github.com/guweigang/9848271

参考:https://www.jianshu.com/p/d0d3e5d1813a

-------------本文结束感谢您的阅读-------------
坚持原创技术分享,您的支持将鼓励我继续创作!
0%