如何使分支与起源/母版相同

时间:2019-03-17 02:11:08

标签: git

假设我从origin/master分支到brancha

我对brancha进行了更改,提交和推送(包括创建,提交和推送新文件)。

现在,我想再次使branchaorigin/master content 完全相同(因为,说我的更改有误,并且对{{1 }})。

所以我希望我的分支基本上是master的一个新分支,但是我希望我的旧更改已被记录,因此我可以在历史的后面看到它。

有没有办法做到这一点?

2 个答案:

答案 0 :(得分:1)

要保存更改,您需要一个指向其当前提示的指针-例如标签或其他分支。

git tag <tag_name> brancha

然后重置分支,使其与当前origin/master相匹配:

git checkout brancha
git reset --hard origin/master

答案 1 :(得分:0)

如果要在分支提交(您希望保留)之上创建一个新的提交,以反映来源/主文件,我建议重设-硬然后软(如“ Practical uses of git reset --soft?” )。

public void onClick(View v) {
    String name=listItemData.get(i).getName();
    Intent intent = new Intent(mActivity, SecondActivity.class);
    intent.putExtra("NAME", name);
    mActivity.startActivity(intent);
}

首先,将索引和工作树重置为要查看的内容:origin / master

m--m--m (origin/master)
       \
        a--a--a (brancha, HEAD)

问题:git checkout brancha git branch tmp git reset --hard origin/master m--m--m (origin/master, brancha, HEAD) \ a--a--a (tmp) 的历史不再被引用:将brancha HEAD返回到其原始位置,但是没有更改索引和工作树(它们都反映了brancha

origin/master

现在您可以添加并提交:应该计算相关的增量,以设置内容与git reset --soft tmp m--m--m (origin/master) \ a--a--a (tmp, brancha, HEAD) 相同的新提交。

origin/master

git add . git commit -m "Restore origin/master content in a new commit on brancha" m--m--m (origin/master) \ a--a--a----M (brancha, HEAD) (tmp) 和原始/主提交应具有相同的内容。