【问题标题】:how to force git to commit a symlink (as a symlink at git repository) that was a renamed regular file?如何强制 git 提交一个重命名的常规文件的符号链接(作为 git 存储库中的符号链接)?
【发布时间】:2014-05-07 05:47:55
【问题描述】:

我有一个名为ScriptA.sh 的常规文件并将其重命名为ScriptB.sh

我创建了一个符号链接 ScriptA.sh 指向 ScriptB.sh

当我提交/推送它并在远程存储库中检查时,有 ScriptA.shScriptB.sh 以及完整的脚本内容...我期待 ScriptA.sh 只有 ScriptB.sh 的路径它的数据...

更糟糕的是:如果我更改ScriptB.sh 处的数据,只有它被检测为已更改,因此我只能提交那个......而不能提交ScriptA.sh

我想如果我将ScriptA.sh 的符号链接内容更改为../bin/ScriptB.sh,提交然后将其更改回来,然后再次提交,它可能会修复吗?或者我可以搞砸什么吗?编辑:我刚刚测试过,没有检测到符号链接更改...

编辑:我尝试删除符号链接ScriptA.sh 并提交,然后重新添加并再次提交,但上传的文件没有符号链接数据,而是常规文件完整数据:(

PS.:我使用 Ubuntu/Nautilus 和 RabbitVCS Git。

【问题讨论】:

    标签: git symlink


    【解决方案1】:

    使用git gui(这是带有gui参数的普通git命令)。
    它对符号链接的检测完美无缺!
    您可能需要安装包 git-gui

    选择文件后必须点击Stage to Commit,然后点击Commit,最后点击Push;当被问及时,您必须在运行git gui 的终端上输入远程存储库密码。

    Obs.:只是一个提示,使其具有在 RabbitVCS 上找到的相同差异比较。在工具菜单的“添加新工具命令”中,输入这个简单的命令:meld $FILENAME

    参考:
    https://stackoverflow.com/questions/1516720/git-gui-client-for-linux
    What's the difference between Git add (ctrl+A) and Stage to Commit (ctrl+T) in the git GUI?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-08-20
      • 2015-07-31
      • 2011-06-03
      • 2020-09-15
      • 2016-08-10
      • 1970-01-01
      相关资源
      最近更新 更多