原文地址:http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000
$ pwd//显示当前目录
$ git init//将当前目录变成Git可以管理的仓库
$ git config --global user.name "Your Name"//设置用户名
$ git config --global user.email "email@example.com"//设置邮箱
$ git add <file>//把文件添加到仓库
$ git commit -m "Note information"//将添加的文件提交到仓库,可同时提交多个文件
$ git status//查看仓库当前的状态
$ git diff <file>//查看该文件的变更内容
$ git log [ --pretty=oneline ]//查看日志,加参数为显示简要信息
$ git reset --hard HEAD^//回滚到上一版本
$ git reset --hard HEAD^^//回滚到上上版本
$ git reset --hard HEAD~100//回滚到之前第100个版本
$ git reset --hard commitId//回滚到指定id的版本
$ git reflog//查看每一次git操作指令
$ git diff HEAD -- <file>//查看工作区和版本库的区别
$ git checkout -- <file>//丢弃工作区的修改
$ git reset HEAD <file>//撤销暂存区的修改
$ rm <file>//删除文件
$ git rm <file>//从版本库中删除文件,需要commit才能生效
$ git remote add origin git@server-name:path/repo-name.git//关联到远程库
$ git push -u origin master//第一次推送master分支的所有内容
$ git push origin master//推送最新修改
$ git clone git@server-name:path/repo-name.git//从远程库克隆代码到本地
$ git fetch origin //更新远程库代码到本地
$ git branch branchName //创建一条分支
$ git checkout branchName //切换分支
$ git checkout -b branchName //创建一条分支并切换
$ git branch //查看当前分支
$ git merge branchName //合并指定分支到当前分支
$ git branch -d branchName //删除分支
$ git log --graph [--pretty=oneline --abbrev-commit]//查看分支合并情况
$ git merge --no-ff -m "描述" branchName //加上no-ff合并分支,合并后的历史有分支
$ git stash//把当前工作现场“储藏”起来
$ git stash list //查看“储藏”的工作现场
$ git stash apply [ stash@{0} ]//恢复工作现场
$ git stash drop [ stash@{0} ]//删除工作现场
$ git stash pop [ stash@{0} ]//恢复同时并删除工作现场
$ git branch -D branchName //强行删除没有被合并的分支
$ git remote [ -v ]//查看远程库信息
$ git checkout -b branchName origin/branchName//创建本地和远程对应的分支
$ git branch --set-upstream branchName origin/branchName//建立本地和远程分支关联
$ git pull//把最新的提交抓取下来
$ git tag v1.0//打上一个新标签
$ git tag //查看标签
$ git tag v0.9 'commitId'//给指定某一个版本打上标签
$ git show tagName//查看标签信息
$ git tag -s tagName -m "描述" commitId//打标签时可以通过-s用私钥签名
$ git tag -d tagName //删除一个标签
$ git push origin --tags//推送所有标签到远程库
$ git push origin tagName//推送指定标签到远程库
$ git push origin :refs/tags/tagName//删除远程库的标签,需要先删除本地标签
其他linux命令:
$ ls -al //查看目录下的文件,加上-al可以查看到隐藏文件
$ cat <file> //查看文件内容