git与工作场景结合

860 阅读2分钟

前言:版本控制git,结合工作中常面对的git问题。

情景一

技术老大:你上次开发的新功能可以并到main分支上测试了。 如下:

操作:

  1. 先让自己dev分支上的工作区保持干净 --- 将代码git add 提交到暂存去再git commit -m 提交到git仓库
  2. 切换分支到main并拉取最新的代码 --- git checkout main & git pull
  3. 将dev上面的代码合并到main --- git merge dev

如果此时冲突别乱合并,避免遭其他同事毒打。正确操作时没一个你没有把握的冲突都得问一问。

情景二

技术老大:你上次开发的新功能(有1,2,3,三个小功能)中的2功能并到main上测试。 如下

操作:

  1. 先让自己dev分支上的工作区保持干净 --- 将代码git add 提交到暂存去再git commit -m 提交到git仓库
  2. 切换分支到main并拉取最新的代码 --- git checkout main & git pull
  3. 查看iss55提交的版本号 --- git reflog
  4. 用cherry-pick 取出提交 --- git cherry-pick 84d2f15 解决冲突即可

情景三

当你正在进行项目中某一部分的工作,里面的东西处于一个比较杂乱的状态,而你想转到其他分支上进行一些工作。问题是,你不想提交进行了一半的工作,否则以后你无法回到这个工作点。解决这个问题的办法就是git stash命令。

养成好的习惯每次操作之前都要git status看看状态。(图一)

当你想知道文件有哪些改变的时候git diff(图二)

这时你可以开始秀了, 使用git stash(图三)

看你是工作区干净了你可以切换到其他分支了,如果你是在图一这种状态下是不能切换分支的,你可以试试。 最后在回到这个分支,使用git stash apply 默认使用最近的存储,你也可以使用git stash list看看里面有那些存储

git命令排名,不分先后:

  1. git status
  2. git diff
  3. git add
  4. git pull
  5. git commit
  6. git push
  7. git checkout
  8. git reset
  9. git merge

记住,任何已经提交到Git的都可以被恢复。即便在已经删除的分支中的提交,重新改写的提交,都可以被恢复(关于数据恢复的内容见第九章)。所以,你可能失去的数据,仅限于没有提交过的,对 Git 来说它们就像从未存在过一样。

git book传送