git命令

本地仓库

git init                                 初始化git本地仓库

git status                            查看工作区的状态

git log                                 查看提交历史

git reflog                            查看命令历史

git log --graph                    查看分支合并图

git add                                将文件的改动添加到暂存区

git commit                           将暂存区的所有内容提交到本地的当前分支

git checkout -- <file>           撤销还未 add 的修改,恢复已经删除却未add的文件

git reset HEAD <file>          撤销 add 后,却未 commit 的修改,再次 git checkout --  <file>回到未修改之前的状态

git reset --hard HEAD^        回退到上一个commit版本

git reset --hard HEAD^~2   回退到前两个版本

git reset --hard 1904a          回退到特定版本号,提交时git push -f

git revert 版本号                   新生成一个与指定版本相同的commit(反做,可能会有冲突,解决冲突,正常提交)       

git rm <file>                         从暂存区删除文件

远程仓库

git remote add origin git@github.com:michaelliao/learngit.git        关联远程仓库

git clone git@github.com:michaelliao/gitskills.git                            从远程仓库clone一个本地库

git remote -v                           查看详细的远程分支内容

git push -u origin master        第一次推送内容到远程master分支

git pull                                    从远程分支拉代码

git fetch origin dev:dev           拉取远程dev分支内容到本地dev,本地无则新建dev分支(不会自动merge,不会切换分支)

git push                                  像远程分支推送内容

分支

git checkout -b <name>          创建并切换分支

git checkout -b dev origin/dev        创建并切换分支,并与远程分支建立关联

git checkout <name>              切换分支

git branch                               查看当前分支

git merge <name>                 合并分支

git branch -d <name>             删除分支 

git branch -D <name>            强制删除分支,比如没有被合并过的分支

git merge --no-ff -m "merge with no-ff" <name>            合并分支的时候保留分支信息,并生成一个新commit。 合并分支时,加上--no-ff参数就可以用普通模式合并,合并后的历史有分支,能看出来曾经做过合并,而fast forward合并就看不出来曾经做过合并。

git stash                                  储藏工作现场

git stash list                             查看历史stash

git stash pop                            恢复工作现场,并删除stash

标签

git tag <tagname>                                                创建标签

git tag                                                                   查看所有标签

git tag <tagname> f52c633                                   在指定的commit上打标签

git tag -a <tagname> -m "balabala" 1094adb        -a:标签名,-m:标签说明

git show <tagname>                                              查看带说明的标签

git tag -d <tagname>                                              删除标签

git push origin <tagname>                                     推送标签去远程仓库

git push origin --tags                                              推送所有标签去远程仓库

git push origin --tags                                              一次性推送所有tags

git push origin:refs/tags/<tagname>                      远程删除一个标签

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 在这个步履维艰的时代,物质高于一切的最坏、也最好的时代。很多人的眼光好像从未停留过瞬间的美好。美好姑娘的存在,也好...
    简简风阅读 3,550评论 1 3
  • 刚刚过去的三八节,广大的女性朋友们都沉浸在节日的欢快之中,朋友圈里争相晒着收到的红包、鲜花和礼物,满足...
    慕敖阅读 3,196评论 2 10
  • 今儿果然变天了。。 这又是新的一月第一天,今年就剩下两个月了,总忍不住又想去翻翻年前的计划和年底的计划。想想还是算...
    漫舞时光阅读 1,586评论 2 1
  • 走进增城 (二) 白天游览城市风光,晚上吃山庄农家饭。 第二天到增城旅游景点白水寨,白水寨是目前中国大陆落差最...
    夕阳醉梦阅读 583评论 0 0
  • 其实你从未靠近过我对吗?内些以为很近的瞬间,都只是我自己的瑕想。 我从没注意过你,直到你和我的好朋友告白,...
    猫鳍阅读 819评论 0 2