Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/24.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/tfs/3.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_Tfs_Commit - Fatal编程技术网

git是否提前添加提交并将其更改级联转发?

git是否提前添加提交并将其更改级联转发?,git,tfs,commit,Git,Tfs,Commit,我们正在尝试使用git TFS从TFS迁移到git。 在几次失败的尝试之后,似乎所有的tfs都成功地移动了,只保存了一次提交——分支中的第一次提交 这导致了级联效应,每次提交都没有这些文件,因为我假设TFS存储的是补丁,而不是快照 在git中有没有办法在开始时添加此提交,并重写下一次提交的历史记录以包含这些文件?有几种方法可以做到这一点。重基非常简单: 确保在回购协议中提交了丢失的提交,以便为其提供sha id。签出缺少提交的分支的头,然后重新设置基础 git rebase <sha fo

我们正在尝试使用git TFS从TFS迁移到git。
在几次失败的尝试之后,似乎所有的tfs都成功地移动了,只保存了一次提交——分支中的第一次提交

这导致了级联效应,每次提交都没有这些文件,因为我假设TFS存储的是补丁,而不是快照


在git中有没有办法在开始时添加此提交,并重写下一次提交的历史记录以包含这些文件?

有几种方法可以做到这一点。重基非常简单:

确保在回购协议中提交了丢失的提交,以便为其提供sha id。签出缺少提交的分支的头,然后重新设置基础

git rebase <sha for missing commit>
git-rebase

也许还可以看看git rebase--interactive--

,提交应该是分支中的第一个提交,那么我应该签出分支头还是分支中当前的第一个提交?@wimpyteos您应该签出分支头。也就是说,您只需确保签出了整个新分支,然后再进行重基。这将在丢失的提交上重播所有分支。如果没有合并问题,您将首先丢失提交,然后是所有其他问题。那么到main的分支呢?它们也会被修复吗?其他分支不会自动修复,您需要使用相同的方法重新设置这些分支的基础。