#提交代码会加上用户名和邮箱git config --global user.name 名字git config --global user.email 邮箱git config --global color.ui true#列出所有配置git config --list#创建一个repository(仓库)git init#可以看到一个.git目录ls -A#复制一个已有的项目git clone https://git.coding.net/lackone/Demo.git#查看状态git status#显示简单信息git status -s#添加文件到仓库git add 文件git add *#提交git commit -m '注释'#直接提交到history中git commit -a -m '注释'#创建忽视文件(.gitignore)echo '*~' > .gitignore#查看文件的变化git diff 文件#查看stage中的变化git diff --staged#查看work与history中的区别git diff HEAD#查看简单信息git diff --stat HEAD#查看仓库中的提交历史git loggit log --pretty=oneline#查看分支合并图git log --graph#查看历史提交commit idgit log --pretty=oneline --abbrev-commit#版本回退(HEAD表示当前版本,HEAD^表示上一个版本,HEAD^^上上个版本,HEAD~100上100个版本)#回退到上一个版本git reset --hard HEAD^git reset --hard 版本号#查看命令历史git reflog#只是撤销工作区的修改时git checkout -- 文件#如果修改已经提交到暂存区,则分两步1、git reset HEAD 文件2、git checkout -- 文件#删除文件git rm 文件#从stage中删除文件git rm --cached 文件#重命名文件git mv 文件 新文件#暂停工作区git stash#查看git stash list#恢得工作区,stash并不删除git stash apply#恢复工作区,同时把stash内容删除git stash pop#创建分支git branch 分支名git checkout 分支名上面两条等同于如下git checkout -b 分支名#查看分支git branch#切换分支git checkout 分支名#合并分支git merge 分支名#在Fast forward模式下合并分支,分支删除后,分丢失分支信息git merge --no-ff -m '注释' 分支名#删除分支git branch -d 分支名#删除一个没有被合并过的分支,强行删除git branch -D 分支名#设置本地分支与远程分支的链接git branch --set-upstream 分支名 origin/远程分支名#查看远程库信息git remote#查看远程库详细信息git remote -v#推送分支git push origin mastergit push origin 分支名#拉取,不会自动合并git fetch origin master#拉取并合并到本地git pull origin master#创建标签git tag 标签名#给commit打标签git tag 标签名 提交idgit tag -a 标签名 -m '说明' 提交id#查看标签git show 标签名#删除标签git tag -d 标签名#推送本地标签git push origin 标签名#推送本地全部未推送的标签git push origin --tags#删除远程标签git push origin :refs/tags/标签名