我想知道如何在git(版本的优先级)上更改我的提交顺序,或者将提交定义为"默认"克隆?
For example, i've three commits for my git project :
-s0441254z5 | "new features in dev" (most recent)
-p44mo47877 | "ENDED project"
-g487er54ee | "First commit" (the oldest)
我会
-p44mo47877 | "ENDED project"
-s0441254z5 | "new features in dev" (most recent)
-g487er54ee | "First commit" (the oldest)
所以当有人做" git clone"在我的项目中,他获得了#34; ENDED项目"。 我知道我可以用另一种方式回答这个例子,使用--branches,但它只是一个例子来说明我的问题。 所以,对于这个你有什么想法?
答案 0 :(得分:1)
您应该有一个分支,它保留在您希望克隆人员的提交中。
你可以通过在所有提交的分支上执行此操作,并说所需的提交是最新的提交(如在您的示例中)。
git checkout -b development # creates a new branch to be cloned
git reset --hard HEAD^ # resets the branch to the commit you want
然后,当人们克隆您的项目时,他们可以clone your project from a specific branch。
git clone --branch development <URL>
你也可以,(而不是让devs用分支选项克隆项目)改变HEAD指向的分支。 Here是如何实现此目标的描述性示例。
我不明白为什么你会想要重新排序提交,因为克隆特定的提交会给你你正在寻找的行为。虽然,如评论中所述,您可以使用rebase to reorder your commits。
答案 1 :(得分:1)
git rebase -i
(或--interactive
)正是为此而写的(以及更多......)。要更改最后3次提交的顺序,请运行
git rebase -i HEAD~3
编辑器将弹出说明,重新排序行,退出编辑器,然后让git完成剩下的工作。
答案 2 :(得分:0)
所以当有人对我的项目进行“git clone”时,他会得到“ENDED项目”。
为此,您在遥控器上的当前分支(已签出)应指向提交。在github,您可以通过选择另一个“默认”分支来更改它。