总结git的经常使用命令

  • git init:初始化一个git仓库,即.git目录
  • git add:把工做区的文件提交到暂存区
  • git commit:把暂存区的文件提交到仓库,git commit -m '本次提交的说明'
  • git status:查看工做区或暂存区的状态git

    版本回退

  • 能够用git reset --hard commit_id,也能够用git reset --hard HEAD^,说明commit_id提交的版本号,git reset --hard HEAD^表示回退上一个版本,git reset --hard HEAD^^回退到上上个版本,git reset --hard HEAD~100表示表示回退到往上100个版本
  • 版本回退前,用git log能够查看提交历史,以便肯定要回退到哪一个版本。git log --pretty=oneline查看简单的版本信息
  • 要重返将来,用git reflog查看命令历史,以便肯定要回到将来的哪一个版本。code

    撤销修改

  • 场景1:当你改乱了工做区某个文件的内容,想直接丢弃工做区的修改时,用命令git checkout -- file。说明:git checkout -- file实际上是用版本库里的版本替换工做区的版本,不管工做区是修改仍是删除,均可以“一键还原”
  • 场景2:当你不但改乱了工做区某个文件的内容,还添加到了暂存区时,想丢弃修改,分两步,第一步用命令git reset HEAD file,就回到了场景1,第二步按场景1操做。
  • 场景3:已经提交了不合适的修改到版本库时,想要撤销本次提交,参考上文版本回退,不过前提是没有推送到远程库。
  • git rm:删除文件orm

    添加到远程仓库

  • 要关联一个远程库,使用命令git remote add origin git@server-name:path/repo-name.git;
  • 关联后,使用命令git push -u origin master第一次推送master分支的全部内容;
  • 此后,每次本地提交后,只要有必要,就可使用命令git push origin master推送最新修改;
  • git clone '远程仓库地址' 从远程仓库克隆项目到本地server

    建立与合并分支

  • git branch:查看分支
  • git branch <name>:建立分支
  • git checkout <name>:切换分支
  • git checkout -b <name>:建立与切换分支
  • git merge <name>:合并分支到当前分支
  • git branch -d <name>:删除分支
  • git branch -D <name>:删除未合并的分支
  • 合并分支的可能会出现冲突,冲突出现的缘由就是两我的对了同一个文件的的相同位置进行了不一样操做,解决冲突再提交便可rem

    bug分支

  • 修复bug时,咱们会经过建立新的bug分支进行修复,而后合并,最后删除;当手头工做没有完成时,先把工做现场git stash一下(注意git stash以前要先git add一下),而后去修复bug,修复后,再git stash pop,回到工做现场。it

    多人协做

  • 多人协做的工做模式一般是这样:
    • 首先,能够试图用git push origin branch-name推送本身的修改;
    • 若是推送失败,则由于远程分支比你的本地更新不同,须要先用git pull试图合并;
    • 若是合并有冲突,则解决冲突,并在本地提交;
    • 没有冲突或者解决掉冲突后,再用git push origin branch-name推送就能成功
  • 若是git pull提示“no tracking information”,则说明本地分支和远程分支的连接关系没有建立,用命令git branch --set-upstream branch-name origin/branch-name。这就是多人协做的工做模式,一旦熟悉了,就很是简单。io

相关文章
相关标签/搜索