iDe*_*247 3 git version-control
我基本上想做:
git checkout branchA
git checkout -b branchB <commit_id>
Run Code Online (Sandbox Code Playgroud)
branchB从<commit_id>on创建新分支branchA。
题:
我在这里详细介绍,但我问的原因是为了帮助理解 git history 的工作原理并节省一些输入。(上面的命令可能是四个命令而不是两个......)我如何使用本机 git 函数将它变为一个?题:
是否有一种更简单/单行的方式来做与上面相同的事情?
我正在考虑简单地做,git checkout -b branchB <commit_id>但如果我在branchC那里可能不会工作,因为日志/历史branchC可能与branchA.
背景:
我对这种特定情况的意图是快速恢复到先前的提交,以防将错误引入生产。然而,我仍然想保留我的新代码,然后丢弃旧代码被推回服务器的新分支。
只是
git checkout -b branchB <commit>
Run Code Online (Sandbox Code Playgroud)
提交的哈希值在整个仓库中是唯一的,因此没有理由更改为branchA之前,因为结果完全相同。
这也只是一个捷径
git checkout <commit>
git branch branchB
git checkout branchB
Run Code Online (Sandbox Code Playgroud)
正如您所看到的,第一个命令是正常的结帐,git checkout branchA无论如何它都会取代您的。
我正在考虑简单地做,
git checkout -b branchB <commit_id>但是如果我在 branchC 中,那可能无法工作,因为 branchC 的日志/历史记录可能与 branchA 不同。
一个存储库中只有一个历史记录。
我对这种特定情况的意图是快速恢复到先前的提交,以防将错误引入生产。然而,我仍然想保留我的新代码,然后丢弃旧代码被推回服务器的新分支。
听起来像标签;)
git tag -a -m "Release 1.2.3" v1.2.3
# Deploy 1.2.3
#something broken!
git checkout v1.2.2
# Deploy 1.2.2
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3175 次 |
| 最近记录: |