我了解的git

前言:

若是你对git flow,规范化操做很了解,烦请直接到文章底部看 '骚操做'
复制代码

1、 gitlab 建立项目

如图操做 图一:
git

图二: vim

2、 建立 new issue

图3: bash

图4:服务器

3、 而后在开发分支上操做,推到gitlab服务器上;

4、 而后按键盘上的G N 两个键,看到graph长这样

看到test分支从master上长出来了😁……函数

ok,如今定义一下:

test:   测试分支          // 全部开发的分支都合并到 test  上
master: 生产环境上分支    // 管理员才有权限去操做
复制代码

1. submit issue;

2. 开发完第一个任务

3. 合并分支到 test 两种方式

  1. 去gitlab GUI上发 merge request,将 source branch ====merge===>>> target branch

图 5: gitlab

图 6:
图 7:
这种merge graph长这样
图 8:

  1. 直接经过命令去 merge

git log --graph 命令和GUI 对比

ok,这时候,咱们开发完了,测试完成,发MR,将 test 合并到 master,不勾选删除当前分支测试

将多个commit点修改一下,好比合并成一个点

git rebase -i HEAD~<num>  num表明要合并的commit点数
复制代码

常见命令

1. git stash && git stash pop
复制代码

2. git branch -D <branch-name>  删除本地分支
   git branch -a      查看全部分支
   git branch -r -d <remote branch-name>   删除 remote branch
   git branch -m <new branch name>  对当前分支进行rename
复制代码

3.git branch的参数
复制代码

为何要rebase ???

看到了上述,上述小伙伴看到了我每次操做都有rebase,为何要rebase呢?强迫症啊啊啊啊啊!!!fetch

图来自文章 rebase的操做ui

来一点骚操做,配置一下alias

Mac系统安装了iterm2
spa

若是安装了zsh主题,就修改 vim ~/.zshrc;
没安装,就vim ~/.bashrc;
复制代码

废话很少,直接上配置,粘贴就能用;

# alias setting

alias g='git'
alias ga='git add -all'
alias gfp='git fetch -p'
alias gp='git pull'
alias gcn='git commit --amend --no-edit'
alias gb='git branch'
alias gba='git branch -a'
alias gcb='git checkout -b '$*''


ganp(){
   git add . && git commit --amend --no-edit &&  git fetch -p && git rebase origin/'$*' && git push origin HEAD  -f
}
alias ganp=ganp

gacp(){
    git add --all && git commit -m "$*" && git fetch -p && git rebase origin/'$*' && git push origin HEAD -f;
}
alias gacp=gacp;
复制代码

上面配置了两个函数ganp和gacp,这样每次提交代码,一行便可搞定

gacp   用于第一次提交,附带一个commit message
ganp   用于当前分支已经提交过commit message
复制代码

你品,你细细品,是否是爽歪歪~

相关文章
相关标签/搜索