作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
对于一个存储库,我使用一个简单的脚本定期提交对文件的更改,以保留一份相当详细且非逻辑的历史记录,我想保留这些历史记录用于我自己的统计目的(即我知道 git rebase
,但这非逻辑历史是我想保留的东西)。目前我只是致力于一个单独的分支 autocommit
并使用
git checkout master
git merge --squash autocommit
git commit
git checkout autocommit
git merge --ff-only master
为“正确” promise 保留
master
保持分支整洁的同时保持与
autocommit
的关系-分支。所以我有一段历史,比如
| * 95e4189 Merge branch 'main' into autocommit
| |\
| |/
|/|
* | 040386a <= created via git merge --squash autocommit
| * 72bc5a5 autocommit
| * 9aaf5a6 autocommit
| * ea758c0 autocommit
| * 7ff1de8 autocommit
但我真正想要的是
git merge autocommit --edit
进入
master
正确链接到历史记录。但是,我不想
git push
来自
autocommit
的任何内容分支(或任何带有所述消息的提交,如果这更易于管理)。但是我想这基本上会破坏推送的仓库,因为部分提交历史将无法访问。所以我的问题是:
git push --skip autocommit
A1 -> A2 -> A3--=> A3' -> A4 -> ... [autocommit]
/ ↓' /
M1-----------> M2 -----> ... [master]
哪里
↓'
表示
git merge --squash
这意味着
A3
不是
M2
的父级但只有
M1
是,和
A3'
刚刚 merge 回来
M2
以更好地跟踪连接。我想我想要的只是
M1--------------=> M2 ---> .... [master]
\ /
A1 -> A2 -> A3 -> A4 (or maybe A3' first merging M2 back) [autocommit]
但没有提交
A1
等来自
autocommit
分支被推。
最佳答案
要了解什么是可能的,了解一下 git 的工作原理会很有用。从根本上说,git 在层中建立了它的版本控制模型:
autocommit
上的提交分支 - git 不知道它在历史中找到的 merge 中分支的名称,它只是将所有父提交视为它向后跟踪的历史的一部分。 autocommit
之前到达历史记录中的提交。分支,再次 git 将不知道发生在历史中的哪个位置。 关于git - 如何让 git-push 永久跳过来自详分割支的提交?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65059268/
在这里默认大家都安装了jdk并且配置了java的环境,网上教程很多,在此不给大家多介绍了。 在tomcat官网(http://tomcat.apache.org/download-90.cgi)上
我是一名优秀的程序员,十分优秀!