建立分支并 checkout 到该分支php
git checkout -b app/newapp
修改文件 a.php 的11行,保存提交git
vi a.php git add . git commit -m 'edit a.php 11'
切换回 master 分支,也修改 a.php 的11行shell
git checkout master vi a.php git add . git commit -m 'edit a.php 11, master'
执行合并bash
git merge app/newapp
会出现以下错误提示app
Auto-merging app/Http/a.php CONFLICT (content): Merge conflict in app/Http/a.php Automatic merge failed; fix conflicts and then commit the result.
编辑 a.php 处理冲突,再 add 后提交。工具
git config --global alias.s status
之后,git status
命令就能够用 git s
来替换了。
设置的别名咱们能够在~/.gitconfig
找到,一样,上述命令也能够直接经过编辑~/.gitconfig
的`[alias]段进行添加修改。插件
另外,也能够经过命令行进行删除该别名命令行
git config --global --unset alias.s
若是你用的是 Mac 自带的 bash,能够编辑 ~/.bashrc
或者 ~/.bash_profile
文件;code
若是你用的是 zsh,则编辑~/.zshrc
rem
增长的配置内容以下:
g=git ga='git add' gaa='git add --all' gb='git branch' gba='git branch -a' gbd='git branch -d' gcm='git checkout master' gcmsg='git commit -m' gco='git checkout' gd='git diff' gl='git pull' glgg='git log --graph' gm='git merge' gp='git push' gr='git remote'
编辑 ~/.zshrc
添加或调整以下代码
plugins=(git)
重启 zsh。便可拥有 git 插件的各类 git alias。
咱们的项目总会有一条主线和一条以上的分支,当咱们在分支进行功能拓展的时候,若是发现主线有一些 bug 或者功能须要调整,而又不想把分支 commit ,但不 commit 又会没法 checkout 到 master 工做的时候,stash 就派上用场了。
git stash
: 备份当前的工做区的内容,从最近的一次提交中读取相关内容,让工做区保证和上次提交的内容一致。同时,将当前的工做区内容保存到Git栈中。
git stash pop
: 从Git栈中读取最近一次保存的内容,恢复工做区的相关内容。因为可能存在多个Stash的内容,因此用栈来管理,pop会从最近的一个stash中读取内容并恢复。
git stash apply stash@{1}
:能够将你指定版本号为stash@{1}的工做区取出来,若是不包含stash@{1}
,则取回最近的。apply
和 pop
的区别是,pop 取出后,git 栈就会释放最近工做区,apply 只是把对应工做区应用到当前,并不释放,若要释放,需结合 git stash drop
删除某一个进度.
git stash list
: 显示Git栈内的全部备份,能够利用这个列表来决定从那个地方恢复。
git stash clear
: 清空Git栈。此时使用gitg等图形化工具会发现,原来stash的哪些节点都消失了。
git stash branch <branchname> <stash>
: 基于进度建立分支。
恩恩,今天国庆,只有一个字:堵!:(