Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Git 如何用提交历史记录替换提交?_Git - Fatal编程技术网

Git 如何用提交历史记录替换提交?

Git 如何用提交历史记录替换提交?,git,Git,我正在处理某人从初始存储库复制的存储库。他复制了这些文件,并利用这些文件进行了新的回购,而不仅仅是分拆回购协议。他努力了,我不能失去他的承诺。我分叉了他的存储库,但现在我仍然有这个“第一次提交”。我想用应该分叉的初始存储库中的提交历史来重写此提交。@Saurabh p Bhandari是正确的。但如果你想将回购重置为分叉。要在没有初始提交的情况下保持相同: 您可以使用上游作为引用原始回购分叉的远程名称: git remote add upstream /url/to/original/repo

我正在处理某人从初始存储库复制的存储库。他复制了这些文件,并利用这些文件进行了新的回购,而不仅仅是分拆回购协议。他努力了,我不能失去他的承诺。我分叉了他的存储库,但现在我仍然有这个“第一次提交”。我想用应该分叉的初始存储库中的提交历史来重写此提交。

@Saurabh p Bhandari是正确的。但如果你想将回购重置为分叉。要在没有初始提交的情况下保持相同:

您可以使用上游作为引用原始回购分叉的远程名称:

git remote add upstream /url/to/original/repo
git fetch upstream
git checkout master
git reset --hard upstream/master  
git push origin master --force 

@班达里是对的。但如果你想将回购重置为分叉。要在没有初始提交的情况下保持相同:

您可以使用上游作为引用原始回购分叉的远程名称:

git remote add upstream /url/to/original/repo
git fetch upstream
git checkout master
git reset --hard upstream/master  
git push origin master --force 
A-初始存储库

B-您分叉的存储库(我分叉了他的存储库,但现在我仍然有这个“第一次提交”)

如果您打算用B中所做的更改更新A,您可以在A中执行以下操作

将B添加为A中的远程

git remote add B <repoB-url>
合并B

git merge B/<branch-name> --allow-unrelated-histories
git merge B/--允许不相关的历史记录
您可以直接执行拉操作,而不是获取和合并

git pull B <branch-name> --allow-unrelated-histories
git pull B——允许不相关的历史记录
A-初始存储库

B-您分叉的存储库(我分叉了他的存储库,但现在我仍然有这个“第一次提交”)

如果您打算用B中所做的更改更新A,您可以在A中执行以下操作

将B添加为A中的远程

git remote add B <repoB-url>
合并B

git merge B/<branch-name> --allow-unrelated-histories
git merge B/--允许不相关的历史记录
您可以直接执行拉操作,而不是获取和合并

git pull B <branch-name> --allow-unrelated-histories
git pull B——允许不相关的历史记录

但是,我想从初始存储库中获取历史记录?分叉存储库应该拥有其在GitHubI上下文中的父存储库的所有历史记录。我已经重写了问题的描述,因为它包含错误。情况有点不同。repo是复制的,而不是分叉的。在Git中,存储库中的历史记录是存储库中的提交。输入提交,您将添加更多历史记录。这就是它的全部内容:包含相同提交的两个存储库具有相同的历史记录;具有不同提交的两个存储库具有不同的历史记录。若要查看您是否有相同的提交,请检查提交哈希值,因为它们是每个提交的真实名称。@对于_SCIENCE,我在您编辑问题后添加了一个答案。但是,我想从初始存储库中获取历史记录?,分叉存储库应该拥有它的父存储库在GitHubI上下文中的所有历史,因为它包含了一个错误,我已经重写了问题的描述。情况有点不同。repo是复制的,而不是分叉的。在Git中,存储库中的历史记录是存储库中的提交。输入提交,您将添加更多历史记录。这就是它的全部内容:包含相同提交的两个存储库具有相同的历史记录;具有不同提交的两个存储库具有不同的历史记录。若要查看您是否有相同的提交,请检查提交哈希,因为它们是每个提交的真实名称。@对于_SCIENCE,我添加了一个答案,因为您编辑了问题。我在描述问题时犯了一个错误。描述现在被重写了。回购协议不是分叉的,而是复制的。请阅读描述以了解全部细节。我在描述问题时犯了一个错误。描述现在被重写了。回购协议不是分叉的,而是复制的。详细信息请阅读说明。