草庐IT

custom_branch

全部标签

git - 使用 git filter branch 重写历史时保留 git 注释

出于某些原因,我必须重写我的git存储库的整个历史记录,以更改每次提交的committer_id。但是,我或多或少地在每个提交上附加了一个注释,并且使用git-filter-branch更改committer_id将在逻辑上创建新的提交,留下注释。有没有办法将注释复制到它们匹配的新提交中?这thread似乎问了类似的问题,但在2011年没有解决。感谢您的帮助! 最佳答案 问题可能是git-notes需要一些额外的配置才能按照您希望的方式工作。您可能需要这个配置变量gitconfignotes.rewriteRefrefs/notes

Windows 上的 Git : Can't switch branch after renaming a file (only changed case)

我在Windows上使用git,我的存储库中有一个文件,可以说是“foo.txt”。今天我想把这个文件重命名为“Foo.txt”(大写)。正如thisSOquestion中的建议,我使用了gitmv-ffoo.txtFoo.txt,它产生了预期的结果。我开始提交对我的存储库的更改。编辑:我希望这是一个永久性的更改,并且仍然能够checkout此更改之前的提交。然而,之后我在尝试切换分支时遇到了错误:#I'monbranch1gitcheckoutbranch2Abortingerror:Thefollowinguntrackedworkingtreefileswouldbeoverwr

Windows 上的 Git : Can't switch branch after renaming a file (only changed case)

我在Windows上使用git,我的存储库中有一个文件,可以说是“foo.txt”。今天我想把这个文件重命名为“Foo.txt”(大写)。正如thisSOquestion中的建议,我使用了gitmv-ffoo.txtFoo.txt,它产生了预期的结果。我开始提交对我的存储库的更改。编辑:我希望这是一个永久性的更改,并且仍然能够checkout此更改之前的提交。然而,之后我在尝试切换分支时遇到了错误:#I'monbranch1gitcheckoutbranch2Abortingerror:Thefollowinguntrackedworkingtreefileswouldbeoverwr

git - sh : parse_git_branch: command not found

我在osxElCaptain上启用了root。我尝试了一些已在stackoverflow上提供的解决方案和supersu但无法修复错误。我将functionparse_git_branch()从.bash_prompt导出到.bash_profile但我仍然收到此错误。我不知道bash脚本,所以我不知道发生了什么以及要修复什么。abhimanyuaryanatMacbookin~$sudosush:parse_git_branch:commandnotfoundrootatMacbookin/Users/abhimanyuaryan.bash_profileifwhichrbenv>/

git - sh : parse_git_branch: command not found

我在osxElCaptain上启用了root。我尝试了一些已在stackoverflow上提供的解决方案和supersu但无法修复错误。我将functionparse_git_branch()从.bash_prompt导出到.bash_profile但我仍然收到此错误。我不知道bash脚本,所以我不知道发生了什么以及要修复什么。abhimanyuaryanatMacbookin~$sudosush:parse_git_branch:commandnotfoundrootatMacbookin/Users/abhimanyuaryan.bash_profileifwhichrbenv>/

git - 使 git branch 显示内联分支(版本 2.17.1)

在git版本2.17.1之前(不超过4个版本),当你运行时gitbranch您会得到一个内联的分支列表,并且您的终端已准备好接收新命令。在2.17.1版本中,您会看到一个分支列表作为新屏幕,并且必须按q退出它。退出后,您将不再看到您的分支。在不降级的情况下,我如何才能像以前一样列出内联分支? 最佳答案 configsettingpager.对我有用:gitconfig--globalpager.branch'false'在运行该命令之前,gitbranch用了寻呼机。在该命令之后,gitbranch将分支列表直接打印到终端。

git - 使 git branch 显示内联分支(版本 2.17.1)

在git版本2.17.1之前(不超过4个版本),当你运行时gitbranch您会得到一个内联的分支列表,并且您的终端已准备好接收新命令。在2.17.1版本中,您会看到一个分支列表作为新屏幕,并且必须按q退出它。退出后,您将不再看到您的分支。在不降级的情况下,我如何才能像以前一样列出内联分支? 最佳答案 configsettingpager.对我有用:gitconfig--globalpager.branch'false'在运行该命令之前,gitbranch用了寻呼机。在该命令之后,gitbranch将分支列表直接打印到终端。

git filter-branch --msg-filter 重写推送的提交消息

如何改写已推送到私有(private)远程的旧提交的消息?我想保留时间戳和标签。我找到了这个命令here:gitfilter-branch-f--msg-filter\'sed"s///g"'----all为了保留我添加的标签:--tag-name-filtercat执行命令时git告诉我:msgfilterfailed我要更改的消息是merge消息“Mergebranch'release/...'”这是问题所在吗? 最佳答案 解决方案是使用反斜杠转义“release/...”中的斜杠。所以我使用的命令是:gitfilter-bra

git filter-branch --msg-filter 重写推送的提交消息

如何改写已推送到私有(private)远程的旧提交的消息?我想保留时间戳和标签。我找到了这个命令here:gitfilter-branch-f--msg-filter\'sed"s///g"'----all为了保留我添加的标签:--tag-name-filtercat执行命令时git告诉我:msgfilterfailed我要更改的消息是merge消息“Mergebranch'release/...'”这是问题所在吗? 最佳答案 解决方案是使用反斜杠转义“release/...”中的斜杠。所以我使用的命令是:gitfilter-bra

git - 为什么 "git fetch origin branch:branch"只适用于非当前分支?

在处理功能分支时,我使用此Git命令将我的“开发”分支更新到最新状态,然后立即将我的功能分支与“开发”分支merge:gitfetchorigindevelop:develop这行得通,即本地“develop”指向与“origin/develop”相同的提交,并且处于origin的最新状态。但是,不知何故,当checkout“develop”分支时,此命令失败:fatal:Refusingtofetchintocurrentbranchrefs/heads/developofnon-barerepositoryfatal:Theremoteendhungupunexpectedly如果