我试图忽略对.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"
答案 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
文件,则add
,commit
。然后尝试undate-index
。
$ git add .
$ git commit -m 'Message'
$ git update-index --assume-unchanged ./bin/.gitignore
答案 2 :(得分:2)
我认为您的.gitignore是未跟踪的文件。使用 git status 进行检查。如果未跟踪,则无法为该文件更新索引。 最好添加并提交 update-index 或者将其删除,然后从您的仓库中提取更改。