Web 技术研究所

我一直坚信着,Web 将会成为未来应用程序的主流

git 实践之 —— 别怕搞丢代码

  用 git 是很难搞丢代码的,git 命令怎么玩都没事,只要别把整个项目目录直接 rm -rf 掉就行。很多刚开始玩 git 的玩家老是怕把自己的代码弄丢,不敢尝试各种命令,结果用了半年 git 了还是只会 add、commit、push 这些基本的东西。其实只要有了 hash 就很容易找回。
  如果真怕编辑中的代码弄丢就应该多打 commit。因为每个 commit 都有 hash,即使 reset 掉这些 commit 它们也不会被删除,只是修改 HEAD 的引用而已。所以我从来不怕 commit 丢失,总是各种 reset、rebase,各种 checkout -B 到处覆盖分支。就算真的迷路了也不要紧,一个命令就能找到自己是从何处来的 git reflog   git reflog 可以看到自己的操作记录,很容易就能找到原来的 commit hash,然后 reset 回去就 OK。
  很难想象要怎样才能玩坏它?反正就我目前对 git 的了解好像还没什么办法可以光用 git 命令就把代码弄丢的。要是谁能做到我倒想学一学!
  虽然本地的代码不会弄丢,但远程的代码就说不定了。虽然通过 commit hash 也可以访问到任意版本,但远程可能并没有 reflog 之类的东西,而且存在 push -f 之类的危险命令。如果远程仓库没有开启分支保护就很可能弄丢远程代码。

  强烈建议开启分支保护,至少应该对主仓库的主分支开启。

  是否要禁止直接 push 主仓库的主分支其实问题不大,主要是对主分支的 push -f 得禁止。否则主分支被哪个 SB 删了都有可能。
网名:
54.226.58.*
电子邮箱:
仅用于接收通知
提交 悄悄的告诉你,Ctrl+Enter 可以提交哦
神奇海螺
[查看全部主题]
各类Web技术问题讨论区
发起新主题
本模块采用即时聊天邮件通知的模式
让钛合金F5成为历史吧!
次碳酸钴的技术博客,文章原创,转载请保留原文链接 ^_^