无法在git中标记文件

时间:2017-02-17 10:16:13

标签: git bash

我试图忽略对.gitignore文件所做的更改。为了达到这个目的,我在git bash上使用了这个命令 <?php if(isset($_POST['age'])){ $dob = $_POST['age']; calculate_age($dob); $year = calculate_Year($dob); } function calculate_age($birthday) { $today = new DateTime(); $diff = $today->diff(new DateTime($birthday)); return printf('%d years, %d month, %d days', $diff->y, $diff->m, $diff->d); } function calculate_Year($birthday) { $today = new DateTime(); $diff = $today->diff(new DateTime($birthday)); return $diff->y; } ?> <form method="post" action="age.php" > ENTER DATE OF BIRTH : <input type="date" name="age" /> <input type="submit" value="Calculate Age" /> </form> <?php if($year > 20) {?> <img src="old_image.png" /> <?php }else{?> <img src="young_image.png" /> <?php } ?>

当我执行时,我会在我的git bash上看到git update-index --assume-unchanged bin/.gitignore响应。

  

如何解决这个问题以及为什么我会遇到这个问题?

我也试过这个链接,但没有帮助

git update-index --assume-unchanged returns "fatal unable to mark file"

3 个答案:

答案 0 :(得分:4)

在评论和获取更多信息后,我将其作为答案发布。

原因很可能是,git没有跟踪你要设置的文件assume-unchanged位。在评论中,我提到了命令:

git ls-files --error-unmatch /yourPath/file

您可以检查git是否跟踪文件。

如果未跟踪,则无法更新索引,因为它尚未编制索引。您可以将其添加到.gitignore文件中,以便git忽略它。

答案 1 :(得分:2)

确保您的文件的相对路径正确无误。

试试这个:

$ pwd                        # see working directory 
$ ls -la ./bin/              # see if .gitignore file exist!
$ git update-index --assume-unchanged ./bin/.gitignore

另请参阅bin/.gitignore中是否列出了git ls-files -o文件。

$ git ls-files -o    # Show other (i.e. untracked) files in the output

如果找到.gitignore文件,则addcommit。然后尝试undate-index

$ git add .
$ git commit -m 'Message'

$ git update-index --assume-unchanged ./bin/.gitignore

答案 2 :(得分:2)

我认为您的.gitignore是未跟踪的文件。使用 git status 进行检查。如果未跟踪,则无法为该文件更新索引。 最好添加并提交 update-index 或者将其删除,然后从您的仓库中提取更改。