learngitbranching.js过关记录 银月光海

http://learngitbranching.js.org/是个学习git的网站,以游戏的模式一步步教会新手如何使用git,本文是记录我在玩的过程中,复习和学习到的git命令。

--------分割线--------

提交:

  1. git commit : 提交当前的版本
  2. git branch newImage : 创建新分支newImage
  3. git checkout newImage : 切换到分支newImage
    1. 参数-b : 创建新分支,同时切换过去
  4. git merge bugFix : 将分支bugFix合并到当前分支
  5. git rebase master : 将当前分支移植到Master分支上,并切换过去
  6. git checkout commitHash : 通过指定提交的hash值(前几位即可),将HEAD移到指定的提交上
  7. git log : 查看提交历史
  8. git checkout master^ : 切换到Master的父节点,HEAD分离
  9. git checkout HEAD~4 : 当前HEAD倒推4次,~是相对引用
  10. git branch -f master HEAD~3 : 强制移动到Master分支的父3级
  11. git reset HEAD~1 : 本地暂存区撤销最近一次提交,但是代码还在
  12. git revert HEAD : 新提交一次,使代码恢复到之前一次的状态

其他:

  1. git cherry-pick c2 c4 : 将c2和c4的提交复制到当前分支下
  2. git rebase -i HEAD~4 : 以交互式的界面将之前4次提交复制到新分支上
  3. git commit --amend : 修改本次提交
  4. git tag v1 [C1] : 对[提交C1,默认当前HEAD]标记tag为v1
  5. git describe master : 显示<最近tag>_<相差的提交次数>_g<当前提交hash>

远程:

  1. git clone : 克隆远程库
  2. git fetch : 本地获取远程库最新提交,不改变其他branch
  3. git pull : 等于git fetch + git merge origin/master 拉取远程库最新提交,合并到本地分支
  4. git push : 本地提交推送到远端库
  5. git pull --rebase : 合并远程库最新提交到本地,本地代码附加在最后
  6. git checkout -b foo origin/master : 创建本地分支foo,trace远程分支Master
  7. git branch -u origin/master foo : 将分支foo 关联trace远程分支master
  8. git push origin master : 将本地master分支推送到远端origin/master上
  9. git fetch origin <source>:<place> : 将远程source库的最新代码更新到本地place库,如果place不存在就主动创建
原文地址:https://www.cnblogs.com/gantoday/p/12723133.html