我正在使用git并在本地分支上工作,该分支也被推送到远程。
在进行一些提交之后,我将其合并为开发人员,如下:
git checkout dev
git merge --no-ff myFeature
现在,我按:
git push origin dev
我的问题是我不想再使用功能分支,因此已在本地将其删除。在远程删除它也安全吗?我担心我可能会以某种方式破坏git。...
答案 0 :(得分:3)
要真正理解答案,他们的概念是您必须使用git来理解。
Git将存储历史记录像这样的树(更确切地说是DAG
–有向无环图-):
和分支(本地,远程或标记)是指向提交的指针。 指针未指向的每个提交都可能被“考虑”(不是完全正确,而是本例中的一个细节)。
您还应该知道,指向其父对象的提交点(这就是计算存储图的方式),因此永远不会“丢失”,因为有一个指向它的指针。或更短的提交链。
了解后,您就会了解C5(由iss53
指向–您的feature
分支指向–)由合并提交C6指向, ref master
。
因此,您可以删除iss53
,因为指向的提交没有任何改变,因此您不会丢失任何内容!
答案 1 :(得分:2)
如果您合并了分支并将其推送到远程,则可以安全地删除远程上的分支。