git 命令整理

*   Config

git config --global user.name 'blueyi'

git config --global user.email '[email protected]'

*   Clone

git clone [email protected]:michaelliao/gitskills.git   //从远程库克隆一个本地库

*   rm

git rm -r -n --cached "bin/" //-n:加上这个参数,执行命令时,是不会删除任何文件,而是展示此命令要删除的文件列表预览。

git rm -r --cached  "bin/"      //最终执行命令.

*   Fetch

git fetch origin //把远端的版本库同步到本地

*   Push & Pull 

git pull就是分为git fetch和git merge两个命令来实现的,前者对版本库操作,后者通过版本库影响本地文件

`$ git checkout -b localbranch //`

$ git pull origin remotebranch:localbranch //当本地分支和远程分支名称相同时,只写一个就可以

//$ git pull origin dev: //dev 把远程分支pull下来,跟当前分支合并(该命令不能乱用,不理解)

$ git push -all  //把所有本地分支都推送到远端

git push -u origin master  //添加-u参数,Git不但会把本地的master分支内容推送的远程新的master分支,还会把本地的master分支和远程的master分支关联起来,在以后的推送或者拉取时就可以简化命令。

git push --set-upstream origin dev //把本地分支推送到到远程服务器。

*   Branch

git branch  //查看当前分支

git branch -d dev //删除dev分支

git checkout -b dev  //加上-b参数表示创建并切换,相当于以下两条命令。dev为分支名

上面的命令相当于一下两条命令:

git branch dev   //创建分支

git checkout dev  //切换到对应分支

git push --set-upstream origin develop //推送本地分支到远程

git branch --set-upstream-to=origin/ Patient  //本地分支Patient  track 远程分支 

*   Merge

git merge dev //合并指定分支到当前分支。

git merge --no-ff -m "merge with no-ff" dev //分支合并,创建一个新的commit

*   Rebase

*   Stash 

git stash

git stash list  //查看保存的工作现场

通过两种方式恢复:

一是用git stash apply恢复,但是恢复后,stash内容并不删除,你需要用git stash grop来删除

二是用git stash pop,恢复的同时把stash内容也删了。

git stash apply stash@{0}  //恢复指定的stash

*   Checkout

git checkout -f   //回退所有新修改的内容

git clean -df   //删除所有新增的文件

git checkout -- file  //这个文件(file为文件路径)回到最近一次git commit或git add时的状态。

*   Commit

git commit -m "append GPL"       //提交修改到git -m 是修改注释

*   Add

git add .   //添加文件到暂存区

*   Reset

git reset filePath  //把暂存区的修改撤销掉(unstage),重新放回工作区 

git reset 9027092d56c4f2c93e3ffd15baa9a02c91bed6e1 //回到某个特定的历史版本(中间的修改记录会回到工作区)

*   Log

git log 

git log -p -2    //查看命令

git log --pretty=oneline    //简单显示

git log --graph  //分支合并图

git log --graph --pretty=oneline --abbrev-commit  //查看分支的合并情况

git log --graph --decorate --oneline --simplify-by-decoration --all //分支关系图

*   Show

git show   //显示最近一次提交的修改内容

git show commit_id //查看某次改动内容 

git status   //查看最近本地代码改动的结果。

git reflog  //查看命令历史

*   Tag

git tag  //显示所有的tag列表

git tag -m "first release” 0.1.0

git tag -a 2.12.0 -m "release version 2.12.0” //打tag

git push --tags   //把本地的tag推送到远程库上

git tag -d v1.1  //删除本地tag

git push origin -d tag V1.1  //删除远程tag

*   Diff

git diff  //查看当前修改

*   remote

git remote prune origin //清理远程分支,把本地不存在的远程分支删除

*   删除远程分支

git push origin :branch-name //冒号前面的空格不能少,原理是把一个空分支push到server上,相当于删除该分支。

//或者这么写git push origin --delete currentBranch

### [修改最后一次提交](http://git-scm.com/book/zh/v1/Git-%E5%9F%BA%E7%A1%80-%E6%92%A4%E6%B6%88%E6%93%8D%E4%BD%9C#%E4%BF%AE%E6%94%B9%E6%9C%80%E5%90%8E%E4%B8%80%E6%AC%A1%E6%8F%90%E4%BA%A4)

有时候我们提交完了才发现漏掉了几个文件没有加,或者提交信息写错了。想要撤消刚才的提交操作,可以使用 --amend 选项重新提交:

$ git commit --amend

你可能感兴趣的:(git 命令整理)