Git Local忽略符号链接目录

时间:2018-07-04 11:34:26

标签: git git-subtree

我有两个仓库。它们都包含相同的git子树。

在开发过程中,我想将一个子树目录符号链接到另一个。

    <?php
    $json = '';
    //url

    $url = 'http://api.website.com/account/12345/date/02-07-2018/apikey/api_key/';
    $content = file_get_contents($url);
    $json = json_decode($content, true);


    $acc_name = $json['account']['name'];
    $acc_number = $json['account']['number'];

    ?>

    <table width='100%' border=1>

      <thead>
      <tr bgcolor='#00ffcc'>

        <th>account name</th>
        <th>account number</th>

      </tr>
      </thead>

      <tbody>

<td> <?php echo $acc_name; ?></td>
<td><?php echo $acc_number; ?></td>

/app1 - subtree /app2 - subtree -> /app1/subtree 上运行git status时,我看到app2及其内容已被删除。

我希望git忽略app2/subtree存储库中已删除的文件。

我希望能够对/app2进行提交(不要触摸app2中的任何内容)。

我尝试将subtree添加到subtree/,但是删除的文件仍显示在.git/info/exclude中。

我也尝试过git status,但也没有成功。

1 个答案:

答案 0 :(得分:0)

阅读this answer后,我发现我的问题是由以下原因引起的:

  • 删除文件前未运行update-index
  • 不使用通配符让文件被update-index忽略。

在删除文件之前运行此命令即可

git update-index --assume-unchanged subtree/**/*(.)

注意:(.)是必需的,因为没有它,我得到了fatal: Unable to mark file subtree/some-dir。而且使用**/*.*会遗漏Vagrantfile之类的文件。

使用git ls-files -v | grep '^h'验证哪些文件是assume-unchanged

您可以将它们添加为git别名here