git常用命令备忘

2020-11-27  本文已影响0人  p_gerer

一.基础操作

0.基本概念

git持有三棵树

1.初始化本地项目

git init

2.检出项目

git clone <server|path>

3.添加和提交

git add <单文件>
git add * 
git commit -m ""  # 添加注释并提交到HEAD

4.本地仓库与远端建立|删除联系

git remote add origin <远端仓库地址>
git remote rm origin

5.推送提交的改动到远程服务器

git push origin <branch>

6.分支检出|删除

git checkout -b feature/test # 检出新分支并跳转
git checkout <切换分支>
git branch -d <分支> #需要切换到其他分支
git push origin --delete <远程分支名称>

7.拉去远程代码变更

git pull

8.合并分支

git merge <branch>

9.查看分支差异

git diff <source_branch> <target_branch>

10.创建标签

git tag <1.0.0|tag> <commit id>

11.查看提交历史

git log
git log --author=bob # 指定提交人
git log --pretty=oneline # 没个提交只占一行输出
git log --graph --oneline --decorate --all 
git log --name-status # 改变的文件
git log --help # help doc

12.后悔药

git checkout -- <filename>
git fetch <origin>
git reset --hard origin/master
git reset --soft HEAD^ # HEAD^,HEAD~1 上次 , HEAD~2 两次
git reset --hard HEAD^ #回退到上个版本
git reset --hard HEAD~3 #回退到前3次提交之前,以此类推,回退到n次提交之前
git reset --hard <commit_id> # 退到/进到 指定commit的sha码

git push origin HEAD --force # 由于本地HEAD版本低于master版本提交需要强制才能成功

13.ignore文件
在根目录下添加.gitignore文件

# 忽略*.o和*.a文件
 *.[oa]

# 忽略*.b和*.B文件,my.b除外
*.[bB]
!my.b

# 忽略dbg文件和dbg目录
dbg

# 只忽略dbg目录,不忽略dbg文件
dbg/

# 只忽略dbg文件,不忽略dbg目录
dbg
!dbg/

# 只忽略当前目录下的dbg文件和目录,子目录的dbg不在忽略范围内
/dbg

# 以'#'开始的行,被视为注释.
 * ?:代表任意的一个字符
    * *:代表任意数目的字符
    * {!ab}:必须不是此类型
    * {ab,bb,cx}:代表ab,bb,cx中任一类型即可
    * [abc]:代表a,b,c中任一字符即可
    * [ ^abc]:代表必须不是a,b,c中任一字符

二.git flow 工作流

1.初始化

git flow init
git flow init -f

2.特性|功能 feature - 可以有多个

git flow feature start MYFEATURE

合并 MYFEATURE 分支到 'develop'
删除这个新特性分支
切换回 'develop' 分支

git flow feature finish MYFEATURE
git flow feature publish MYFEATURE
git flow feature pull origin MYFEATURE
git flow feature track MYFEATURE # 跟踪
  1. 发布版本基于develop生产环境的release - 只能有一个
git flow release start RELEASE [BASE]
git flow release finish RELEASE [BASE]
git flow release publish RELEASE 
git flow release track RELEASE
  1. 紧急修复-hotfix-唯一
git flow hotfix start VERSION [BASENAME] # [BASENAME]为finish release时填写的版本号
git flow hotfix finish VERSION
上一篇 下一篇

猜你喜欢

热点阅读