在我们的项目中,每个开发人员都在自己的分支中解决他的问题。碰巧有人犯了一个错误,并希望在将他的分支推送到远程仓库之后执行git commit --amend
。
问题:这有危险吗?其他开发者是否会放弃他们的进展?
答案 0 :(得分:1)
git commit --amend
基本上重写了历史;具体来说,是最近的提交。
这通常是安全的IF,并且只有当你还没有将这个提交推送到一个公共分支(即合并为主)时,如果你绝对知道没有其他人合并或基于他自己的工作,那么其他人都会从OR中撤出从你的分支机构完成的工作。
因此,总而言之,如果满足以下条件,则可以安全地修改:
如果你不能满足任何这些条件,那么不要推动修改提交,因为这会导致在修改之前已经撤回你的分支的任何人的很多混淆。
更具体地回答以下部分问题:
(将他的分支推到远程回购后)
这实际上取决于你所指的"远程回购"。如果它只是他自己的远程存储库上的本地分支,并且没有人将他的分支拉到他们自己的分支中,那么这是完全安全的,因为他只是修改他自己的远程存储库,没有其他人使用。如果通过"远程回购"你实际上是指远程主分支,那么这是不安全的,因为项目中的其他人可能会使用该分支为新工作创建自己的本地分支。