2013-08-05 1 views
3

У меня проблема: когда я запускаю git status из каталога, он перечисляет много файлов этой директории как ../../../file, который на самом деле является файлом без префикса родительской папки в моем Текущий каталог.Файлы указаны как префикс ../ в git

Репо находится в D: /. Git и мой текущий каталог /d/anurag/work/sources/webhosting/gij-sync-scripts, и я использую командную оболочку git-bash. Mine - версия git 1.8.3.msysgit.o.

Я никогда не добавлял файлы таким образом. Что может быть причиной этого? enter image description here

Вот текстовая версия Я вставив (как показано на картинке):

> [email protected] /d/anurag/work/sources/webhosting/gij-sync-scripts (master) 
> $ git commit 
> # On branch master 
> # Changes not staged for commit: 
> # (use "git add <file>..." to update what will be committed) 
> # (use "git checkout -- <file>..." to discard changes in working directory) 
> # 
> #  modified: ../../../../../Anurag/work/sources/webhosting/gij-sync-scripts/copy-site-files.pl 
> #  modified: ../../../../../Anurag/work/sources/webhosting/gij-sync-scripts/local-common.pl 
> #  modified: backup-gij.pl 
> #  modified: backup-joi.pl 
> #  modified: backup-nav.pl 
> #  modified: backupall.sh 
> #  modified: restoreall.sh 
> # 
> # Untracked files: 
> # (use "git add <file>..." to include in what will be committed) 
> # 
> #  ../../../../../.gitignore 
> #  ../../../../../5632_20269334_MVM_7.tmp 
> #  ../../../../../Anurag/work/admissioncourses.com/ 
> #  ../../../../../Anurag/work/govtjobsindia/ 
> #  ../../../../../Anurag/work/indiadiscountoffers.com/ 
> #  ../../../../../Anurag/work/jobsopeningindia.com/ 
> #  ../../../../../Anurag/work/sources/bookrailticket/.buildpath 
> #  ../../../../../Anurag/work/sources/bookrailticket/.cvsignore 

Текущий каталог, из которого я побежал эта команда /d/anurag/work/sources/webhosting/gij-sync-scripts и содержит эти измененные файлы (как указано в моем Windows 7 Explorer (с помощью TortoiseGit):

enter image description here

+0

выглядит, как вы инициализируетесь репозиторием в каталоге user.home – Tala

+0

Пожалуйста отключают цвета для следующего экрана, или, по крайней мере, выбрать цветовую схему с большим контрастом. Темно-красный на черном едва заметен (по крайней мере, на моем экране). – Marco

+0

еще лучше: просто скопируйте текст, а не создайте скриншот. –

ответ

1

работает git status даст вам информацию о файлах в всей репутации ository, а не только путь, который вы в настоящее время. пути всегда будет отображаться относительно текущего каталога, так что если вы не в корне репозитория, вы будете в конечном итоге с numboer е ../

например проверка состояния из хранилища корня:

$ git status 
# On branch master 
# Changes not staged for commit: 
# (use "git add <file>..." to update what will be committed) 
# (use "git checkout -- <file>..." to discard changes in working directory) 
# 
# modified: bar/knardel.c 
# modified: baz/README.txt 
# modified: foo/breslow.xml 
# 

но проверка состояния из подкаталога bar/ даст вам:

$ cd bar 
$ git status 
# On branch master 
# Changes not staged for commit: 
# (use "git add <file>..." to update what will be committed) 
# (use "git checkout -- <file>..." to discard changes in working directory) 
# 
# modified: knardel.c 
# modified: ../baz/README.txt 
# modified: ../foo/breslow.xml 
# 

, если вы хотите, чтобы увидеть состояние текущего подкаталога и это Чайлдс, вы можете дать текущий каталог (.) как <pathspec>:

$ git status . 
# On branch master 
# Changes not staged for commit: 
# (use "git add <file>..." to update what will be committed) 
# (use "git checkout -- <file>..." to discard changes in working directory) 
# 
# modified: knardel.c 
# 
+0

Я уже упоминал, что я даю команду из dir gij-sync-scripts, в то же время она показывает файл в нем как ../../../../../Anurag/work/ sources/webhosting/gij-sync-scripts/copy-site-files.pl. Это означает, что я выполняю команду из того же каталога, где файл – user5858

+0

, вы можете сделать это более понятным в своем вопросе. есть много вопросов от неродных английских ораторов на [so], поэтому я рассматриваю простой * этот каталог *, а не эквивалент текущего рабочего каталога *. –

0

вы смешиваете ниже и Верхняя ча se имена файлов. в то время как для окон путь D:\Anurag\work\sources\webhosting\gij-sync-scripts и D:\anurag\work\sources\webhosting\gij-sync-scripts могут быть таким же, git (исходящая от ООН * х мира, где файловые системы, как правило, чувствительны к регистру), различает /d/Anurag/work/sources/webhosting/gij-sync-scripts и /d/anurag/work/sources/webhosting/gij-sync-scripts

можно настроить мерзавец (> = 1,5. 6) игнорировать случаи с использованием опции core.ignorecase:

git config --global core.ignorecase true 
+0

Разве это не проблема в том, что вы не запускаете 'git init' в правильной директории? (вместо этого op, похоже, запускал его для всего диска) – TheCodeArtist

+0

@ TheCodeArtist Я не знаю, какой контент OP хочет отслеживать. в общем, я не вижу проблемы с отслеживанием всего «диска» (хотя я, вероятно, не сделал этого сам) –

+0

Это тоже была моя мысль. Я почти уверен, что это «anurag» против «Anurag», что вызывает это. – Shahbaz

Смежные вопросы