Git的常用命令

289 阅读2分钟

Git分支查看、创建、合并、删除

  • git branch 查看本地分支

* master    //本地只有master分支

  • git branch -r 查看远程分支
  • git branch -a 查看本地远程所有分支
  • git branch dev 创建dev分支
  • git checkout dev 切换到dev分支
  • git checkout -b dev 创建并且切换到dev分支 (本地新建的分支如果不推送到远程,对其他人就是不可见的)
  • git checkout -b newBranch origin/newBranch  创建切换关联远程分支
  • git merge xxx 合并xxx分支
  • git merge --no-ff -m 'merge dev' dev 普通模式合并,合并后的历史有分支
  • git branch -d xxx 删除xxx分支
  • git branch -D xxx 强制删除未合并的分支

Git提交命令


  • git add   将工作区中的修改文件添加到版本库
  • git add -u 只将修改过的文件加入暂存区,新建文件不加入暂存区
  • git commit -m 'fix' 将add的文件提交到本地分支


commit后本地stage(暂存区)为空

  • git push origin master 将本地分支推送到远程分支

Git 撤销修改命令

  • 未添加到暂存区时 (未使用git add . 之前撤销)

git checkout -- readme.txt

执行后readme.txt将回到工作区未修改的状态

  • 文件已经提交到暂存区 (git add . 还没有git commit -m 'xxx')

git reset HEAD readme.txt

执行后文件会回到还没有git add .的状态,若继续执行git checkout -- readme.txt

readme.txt回到初始版本

  • 文件已经commit 使用版本回退

git reset --hard HEAD^

git reset --hard 1149856f5eb65ed8301b1b5421c963098962a971     //指定回退commit id

Git 查看提交信息

  • git log  查看提交记录


  • git log --graph --pretty=oneline --abbrev-commit 查看详细图形分支


Git stash'存储'当前状态

不想提交当前分支修改,但又需要切换分支时,'存储'当前分支修改,在切换分支

git stash

然后切换分支提交修改,回到当前分支,恢复到'存储'前状态:

git stash apply    //恢复后,stash内容并不删除
git stash drop    //使用apply后删除stash内容

git stash pop    //恢复的同时把stash内容也删了

Git远程分支 

  • 查看远程库信息,使用git remote -v
  • 从本地推送分支,使用git push origin branch-name,如果推送失败,先用git pull origin branch-name抓取远程的新提交
  • 在本地创建和远程分支对应的分支,使用git checkout -b branch-name origin/branch-name,本地和远程分支的名称最好一致
  • 建立本地分支和远程分支的关联,使用git branch --set-upstream branch-name origin/branch-name

最后 fetch pull区别


git rebase

gitbook.liuhui998.com/4_2.html