Git常用操作

来源:互联网 发布:淘宝网地板砖 编辑:程序博客网 时间:2024/05/17 23:53
  1. 常见集中式版本控制系统:CVS,SVN。
    常见分布式版本控制系统:Git,Mercurial,Bazaar。
  2. git跟踪并管理的式修改,而非文件。
  3. git init:初始化一个git仓库。
  4. git add <filename>:把文件修改添加到暂存区。
  5. git commit -m "<message>":把暂存区的所有文件提交到当前的分支。
    上面这两个命令合起来可以表述为:添加文件到Git仓库
  6. git status:查看工作区的状态。
  7. git diff:查看所有文件在工作区和暂存区的差别。
    • git diff <filename>:查看制定文件在工作区和暂存区的差别 。
    • git diff <branch> <filename>: 查看和另一个分支的区别。
  8. git diff cached: 查看暂存区和本地git仓库的差别。
  9. git log:查看所有提交过的版本信息(只包含当前分支)。
  10. git log --pretty=oneline:将每个提交放在一行显示。
  11. git reflog:查看整个本地仓库的commit和reset等。包括所有branch的commit和reset等,甚至包含已经撤销的commit,只要HEAD发生了变化,就会在reflog里面看到。
  12. git reset --hard HEAD^:回退到上一个版本。HEAD指向的版本就是当前的版本。
  13. git reset --hard <commit_id>:回退到commit_id的版本。
  14. 工作区(working directory):指的是电脑里面能看到的目录。
    版本库(repository):工作区里的一个隐藏目录(.git)。
  15. git diff HEAD -- readme.txt:查看工作区和版本库里最新版本的区别。
  16. git checkout -- readme.txt:丢弃工作区中对readme.txt的修改(一键还原)。
  17. git reset HEAD readme.txt :把暂存区的修改撤销掉(unstage),重新放回工作区。
  18. git rm <filename>:从版本库中删除文件。
  19. git remote add origin <repositoryAddress>:关联一个远程仓库,其中origin相当于远程仓库地址的一个别名。
  20. git push -u origin master: 将本地仓库的master分支推送到远程仓库。 第一次推送时需要加上-u参数,之后就不需要了。
  21. git clone <repositoryAddress>:从远程仓库clone一个本地库。
  22. git checkout -b dev:创建并切换到dev分支上。相当于:git branch dev,git checkout dev这两条命令。
  23. git branch:查看所有分支,当前分支前面会有一个*。
  24. git checkout master:切换到master分支上。
  25. git merge dev:合并dev分支当当前分支上。
  26. git branch -d dev:删除dev分支。
  27. git log --grap --pretty=oneline --abbrev-commit用带参数的git log可以看到分支的合并情况。
  28. git merge --no-ff -m <merge with no-ff> dev: 合并分支时,加上--no-ff参数就可以用普通模式合并,这样合并后的历史有分支,能看出来曾经做过合并,而 fast forward模式合并之后则看不出来。
  29. git stash:可以把当前工作现场存储起来,等以后恢复现场后继续工作。 用于在一个分支上工作到一半时,还不能提交,有需要修复紧急bug时。当bug修复后,可以使用git stash list:查看刚才存储的工作县城,需要恢复现场则用git stash pop:可以在恢复的同时把stash的内容也删了。
  30. git branch -D <branchname>:强行删除一个还没有合并过的分支。
  31. git remote:查看远程库的信息。
  32. git remote -v:查看更详细的远程库的信息。
  33. git checkout -b dev origin/dev:创建远程origin的dev分支到本地。(当我们从远程库clone时,默认情况下,只能看到本地的master分支,当我们要在dev分支上开发时,就要创建远程origin的dev分支到本地)
  34. git pull:把最新的提交从origin/dev上抓下来,在本地合并,解决冲突之后,再推送。如果没有指定本地dev与origin/dev的链接,就需要先设置链接:git branch --set-upstream dev origin/dev
  35. git tag <tagName>:给当前分支的最新版本打上一个标签。
  36. git tag <tagName> <commit_id>:给指定的commit_id的版本打标签。
  37. git tag:查看标签。默认标签是按照字母排序的。
  38. git show <tagName>:查看标签的详细信息
  39. git tag -a <tagName> -m <message> <commit_id>:创建带有说明的标签。
  40. git tag -d <tagName>:删除标签。因为创建的标签都只存储在本地,不会自动推送到远程,所以打错的标签可以在本地安全的删除。
  41. git push origin <tagName>:推送某个标签到远程。或者一次性推送全部尚未推送到远程的本地标签:git push --tags
  42. 如果标签已经推送到了远程,现在要删除,就需要先从本地删除:git tag -d <tagName>然后,从远程删除:git push origin :refs/tags/<tagName>
0 0
原创粉丝点击