2016-10-12 1 views
0

Это было задано раньше, но я все еще борюсь с ним.Почему «git status» не дает мне измененные файлы в режиме общего репо?

Вот мой поток:

# INIT REPOSITORY 
/path/git % mkdir test.git 
/path/git % cd test.git 
/path/git/test.git % git init --bare --shared 
Initialized empty shared Git repository in /path/git/test.git/ 

# 1ST CLONE 
/path/test1 % ls 
/path/test1 % git clone /path/git/test.git 
Cloning into 'test'... 
warning: You appear to have cloned an empty repository. 
done. 

# 2ND CLONE 
/path/test2 % git clone /path/git/test.git 
Cloning into 'test'... 
warning: You appear to have cloned an empty repository. 
done. 

# ADD README TO 2ND CLONE 
/path/test2/test % vim README 
/path/test2/test % git status 
On branch master 

Initial commit 

Untracked files: 
    (use "git add <file>..." to include in what will be committed) 

     README 

nothing added to commit but untracked files present (use "git add" to track) 
/path/test2/test % git add . 
/path/test2/test % git commit . -m "add README" 
[master (root-commit) 22757c9] add README 
1 file changed, 1 insertion(+) 
create mode 100644 README 
/path/test2/test % git push 
Counting objects: 3, done. 
Writing objects: 100% (3/3), 218 bytes | 0 bytes/s, done. 
Total 3 (delta 0), reused 0 (delta 0) 
To /path/git/test.git 
* [new branch]  master -> master 

# *** BACK TO 1ST CLONE - GIT STATUS ISSUE! *** 
/path/test1 % git status 
On branch master 
Your branch is up-to-date with 'origin/master'. 
nothing to commit, working directory clean** 

/path/test1 % git pull 
remote: Counting objects: 3, done. 
remote: Total 3 (delta 0), reused 0 (delta 0) 
Unpacking objects: 100% (3/3), done. 
From /path/git/test 
    852bd11..8512257 master  -> origin/master 
Updating 852bd11..8512257 
Fast-forward 
README | 1 + 
1 file changed, 1 insertion(+) 

Почему не "статус мерзавец" видеть добавление README файл по 2-ОЙ CLONE, но "GIT тянуть" делает?

Я вижу сообщение:

On branch master 
Your branch is up-to-date with 'origin/master'. 
nothing to commit, working directory clean** 

Но мне ... хозяин был обновлен, и этот файл README должен был упомянут «мерзавец статуса».

Любые идеи?

+0

Где «git status» не показывает дополнение «README»? Где вы выдаете команду для своего последнего блока вывода и что это такое? –

+0

Привет, Том, вам нужно прокрутить вниз в моем примере выше. Вы можете видеть это ближе к концу. После добавления README сначала во второй CLONE, я просто использую «git status», а затем «git pull» после этого в 1-м CLONE. И «git status» не говорит мне, что мастер обновлен. –

+0

Спасибо всем ... Я думаю, что неправильно понял функциональность «git status», которая, как представляется, отслеживает только файлы/каталоги в рабочей области и промежуточном каталоге (добавление, фиксация), а не файлы/каталоги, измененные в мастер-репо. –

ответ

1

Git автоматически не обновляет клоны. Так что, несмотря на то, что изменения произошли во втором клоне, а пульт знал о них, 1-й клон не имел представления, что readme существовал до тяги.

Git явно, поэтому без вытаскивания или выборки с удаленного устройства в локальном репозитории ничего не изменится.

+0

Спасибо большое Бриана, я ценю ответ. –

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