相关疑难解决方法(0)

如何引用初始提交?

我有一个脚本需要引用存储库中的初始提交.git有特殊的参考HEAD,但没有相应的TAIL.我找不到任何git help rev-parse可以帮助我的东西.

这是我想做的事情:

git show TAIL
Run Code Online (Sandbox Code Playgroud)

这是我的一个选择:

git show `git log --reverse | if read a commit ; then echo $commit ; fi`
Run Code Online (Sandbox Code Playgroud)

这非常hacky,取决于git log的输出没有改变.

现在我只标记初始提交并将其用作我的refspec.但是,我想发布一个通用工具,所以这不是一个很好的选择.

git git-commit

122
推荐指数
4
解决办法
4万
查看次数

合并两个git存储库以获取线性历史记录

我有两个git存储库,它们之间有很多未跟踪的更改:

   ftp -->            C-- (untracked changes) --D
                     /                           \
   git        A--B--C <-- old/master              \
                                                   \
                                                    \
                                  new/master -->     D--E--F 
Run Code Online (Sandbox Code Playgroud)

如何将旧存储库合并到新存储库中以获得线性历史记录

A--B--C--D--E--F
Run Code Online (Sandbox Code Playgroud)

编辑:

灵感来自如何将Git存储库组合成线性历史记录?

我弄完了:

git clone url://new new
cd new/
git remote add old url://old
git fetch old
git reset --hard origin/master
git filter-branch --parent-filter 'sed "s_^\$_-p old/master_"' HEAD
git push origin master
Run Code Online (Sandbox Code Playgroud)

唯一的问题是每个来自new/master的提交都加倍了(由于我认为父改变)所以我现在(M是合并提交)

         D---E---F--         
                    \
A--B--C--D'--E'--F'--M 
Run Code Online (Sandbox Code Playgroud)

如何轻松删除不必要的提交(D-F和M)?

git merge

10
推荐指数
2
解决办法
808
查看次数

标签 统计

git ×2

git-commit ×1

merge ×1