git常用命令
关联用户:$ git config –global user.name “yourName”
关联邮箱账号:$ git config –global user.email “yourEmail”
创建新文件夹:$ mkdir
显示当前目录:$ pwd
将某个目录变成Git仓库:$ git init
将文件添加到仓库:$ git add
把文件提交到仓库,-m后面输入的是本次提交的说明:$ git commit -m “wrote a readme file”
显示仓库当前的状态:$ git status
查看文件的修改内容:$ git diff
查看提交历史:$ git log
单行显示提交历史:$ git log –pretty=oneline
把当前版本回退到上一个版本:$ git reset –hard HEAD^
查看 readme.txt 文件的内容:$ cat readme.txt
回退到某一版本[例如3628164]:$ git reset –hard 3628164
查看命令历史:$ git reflog
查看文件工作区和版本库里最新版本的区别:$ git diff HEAD –
丢弃文件工作区的修改:$ git checkout –
把文件暂存区的修改回退到工作区:$ git reset HEAD
删除文件:$ rm
创建SSH Key:$ ssh-keygen -t rsa -C “yourEmail”
建立本地仓库与GitHub远程仓库的关联:$ git remote add origin git@github.com:GitHubName/.git 或者:$ git remote add origin [https://github.com/GitHubName/](https://github.com/GitHubName/).git
把本地库的内容推送到远程,加-u参数,把本地的master分支和远程的master分支关联起来,在以后的推送或者拉取时就可以简化命令:$ git push -u origin master
简化后的推送命令:$ git push origin master
从GitHub远程仓库克隆:$ git clone git@github.com:GitHubName/.git 或者:$ git clone [https://github.com/GitHubName/](https://github.com/GitHubName/).git
查看文件列表:$ ls
创建“dev”分支:$ git branch dev
切换到“dev”分支:$ git checkout dev
创建“dev”分支并且切换到“dev”分支:$ git checkout -b dev
列出所有分支,当前分支前面会标一个*号:$ git branch
合并“dev”分支到当前分支:$ git merge dev
删除dev分支:$ git branch -d dev
用带参数的 git log 查看分支的合并情况:$ git log –graph –pretty=oneline –abbrev-commit –no-ff参数,表示禁用Fast forward,因为本次合并要创建一个新的commit,所以加上-m参数,把commit描述写进去:$ git merge –no-ff -m “merge with no-ff” dev
把当前工作现场“储藏”起来:$ git stash
查看储藏的工作现场列表:$ git stash list
恢复“储藏”的工作现场同时把stash内容也删除:$ git stash pop
恢复“储藏”的工作现场但不删除stash内容,需要用git stash drop来删除:$ git stash apply
丢弃一个没有被合并过的“dev”分支:$ git branch -D dev
查看远程库的信息:$ git remote
查看远程库的详细信息:$ git remote -v
推送“dev”分支到远程:$ git push origin dev
在本地创建dev和远程分支对应的dev分支:$ git checkout -b dev origin/dev
指定本地dev分支与远程origin/dev分支的链接:$ git branch –set-upstream dev origin/dev
抓取分支:$ git pull
打一个新标签v1.0:$ git tag v1.0
查看所有标签:$ git tag
对某一 commit id(例如6224937) 打标签:$ git tag v0.9 6224937
查看v0.9标签信息:$ git show v0.9
创建带有说明的标签,用-a指定标签名,-m指定说明文字,3628164为示例commit id:$ git tag -a v0.1 -m “version 0.1 released” 3628164
通过-s用私钥签名一个标签:$ git tag -s v0.2 -m “signed version 0.2 released” fec145a
删除本地v0.1标签:$ git tag -d v0.1
推送v1.0标签到远程:$ git push origin v1.0
一次性推送全部尚未推送到远程的本地标签:$ git push origin –tags
删除本地v0.9标签:$ git tag -d v0.9
删除远程v0.9标签:$ git push origin :refs/tags/v0.9
让Git显示颜色:$ git config –global color.ui true
配置st为status的别名:$ git config –global alias.st status
git rebase 合并提交
git rebase -i HEAD~n
或者 git rebase -i notIncludeVersion
git push --force origin feature