---
title: Git常规命令
categories: 'php'
tags: git
grammar_cjkRuby: true
img: '/img/1.gif'
---
一、git checkout(切换分支)
git checkout -b
创建一个新的分支,并切换到新创建的分支
git checkout -B
如果分支不存在,创建一个新的分支;如果分支存在,则重置分支。
二、git branch(列出(创建/删除)分支)
git branch \ git branch --list
显示本地分支列表
git branch -r
显示远程分支
git branch -a
显示所有分支,包括本地和远程分支。
git branch -d
删除一个分支,如果分支没有合并到上游分支,则删除失败
git branch -D
强制删除一个分支
三、git status(显示工作区的修改内容)
git branch -s
以精简的格式显示工作区的修改内容
git status -b
显示作出修改的分支
git status -sb
以精简的格式显示工作区的修改内容,并且显示做出修改的分支
四、git add (添加修改内容到暂存区,准备下一次提交)
git add -A
将本地所有的修改添加到暂存区,commit命令将提交暂存区中做出的修改
五、git commit (将暂存区的修改内容提交到版本库)
git commit -a
提交暂存区的所有修改到版本库
git commit -m "message"
为本次提交添加注释,方便理解每次提交做出的修改
git commit -am "commit log"
常用这个命令提交内容到版本库,提交所有的修改并添加本次提交的注释
六、git log(显示提交记录)
git log -n
指定显示多少条记录
git log --pretty=oneline
以精简的方式显示提交记录(每行显示一条提交记录)
git log --pretty=oneline -n 10
常用这条命令显示提交记录,每行显示一条提交记录,总共显示10条记录
q
退出历史记录
七、git push(推送本地修改到远程分支)
git push origin develop
将develop分支做出的修改提交到远程版本库
八、git reset(版本回退)
git reset --hard <commitid/HEAD>
将版本回退到指定的提交位置,从指定的提交往后做出的修改将被丢弃。
九、git pull(从其他版本库或本地分支获取更新,并自动合并到当前分支)
git pull origin develop
常用本命令从远程版本库获取更新到本地develop分支,请注意此命令会自动将远程更新合并到本地,可能发生冲突。
十、git fetch(从其他版本库获取更新)
git fetch origin develop
从远程版本库的develop分支获取最新到本地的develop分支,但并不进行合并。
git log -p develop origin/develop
比较远程分支做出了那些修改
git merge origin/develop
将远程分支合并到develop分支
十一、git merge(合并两个或者多个分支)
git merge --no-ff develop
合并分支develop到当前分支,并指定不采用快速的方式。
十二、git rebase(把一个分支的修改合并到当前分支)
git rebase origin
该命令会先取消本地的提交,并把本地更新为远程的最新版本,最后再把本地的提交应用到当前分支
十三、git stash(将当前本地未提交的代码推入git的栈中,工作区的内容回到上一次提交内容)
git stash
将当前本地未提交的代码推入git的栈中,工作区的内容回到上一次提交内容
git stash apply
恢复之前工作区未提交的修改
git stash list
查看git栈中的stash列表
git stash apply stash@{1}