根据廖雪峰的git教程整理的命令集合,以供学习使用~~~
git config --global user.name "IceyCity" git config --global user.email "120174xxx@cug.edu.cn"
初始化git仓库:git init
查看文件修改内容:git diff file
查看历史提交日志:git log
查看命令历史:git reflog
git
git reset --hard HEAD^
回到上一个版本 git reset --hard 版本号
回到指定版本github
git add
提交到暂存区 git commit
提交到当前分支 git checkout -- file
撤销你修改的内容 git reset HEAD file
把添加到暂存区的修改撤回app
git rm file
-> git commit -m ""
git checkout -- file
恢复建立密钥:ssh-keygen -t rsa -C "120174xxx@cug.edu.cn"
id_rsa.pub
ssh
将本地仓库与远程仓库关联,并推送本地仓库内容:学习
git remote add origin git@github.com:IceyCity/本地仓库名.git git push -u origin master // 推送本地内容,并关联远程分支
master
指向当前提交,HEAD
指向当前分支。spa
git switch -c dev // 建立并切换分支 git merge dev // 合并分支 git branch -d dev // 删除dev分支
commit
以后合并,会发生冲突,需手动解决。git log --graph
命令能够看到分支合并图。--no-ff
参数,在合并分支的时候,不采用快速合并的方式。git merge --no-ff -m "merge with no-ff" dev
日志
git stash // 将所作的工做内容先隐藏 git stash list // 查看有几个stash git stash apply // 恢复工做内容不删除stash git stash pop // 恢复工做内容并删除stash git stash apply stash@{0} // 恢复指定的stash
git cherry-pick 版本号
能够把别的分支的提交复制到当前分支。git branch -D <branch>
强行删除。git remote -v
git push origin master/dev
git checkout -b dev origin/dev
你的小伙伴已经向origin/dev
分支推送了他的提交,而碰巧你也对一样的文件做了修改,并试图推送,推送失败,提示git pull
,然而也失败,缘由是:
没有指定本地dev分支与远程origin/dev分支的连接:git branch --set-upstream-to=origin/dev dev
code
git rebase
操做能够把本地未push的分叉提交历史整理成直线blog
打新标签:git tag <name>
查看全部标签:git tag
给历史提交打标签:git tag <tagname> <commmit id>
查看标签信息:git show <tagname>
能够指定标签信息:git tag -a <tagname> -m "blablabla..."
删除标签:git tag -d <tagname>
推送标签到远程:git push origin <tagname>
推送全部标签:git push origin --tags
教程
删除远程标签:
先删本地:git tag -d <tagname>
在删远程:git push origin :refs/tags/<tagname>