2016-10-12 3 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(+) 

하지 않는 이유는 "자식 상태"2 CLONE에 의해 README 파일뿐만 아니라,하지만 "자식 풀"않습니다를 참조? 나에게 ... 마스터가 업데이트되었습니다하고 README 파일은 "자식 상태"로 언급되어 있어야합니다,

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

그러나 :

나는 메시지를보고 있어요.

아이디어가 있으십니까?

+0

'git status'는'README' 추가를 표시하지 않습니다 어디에서? 마지막 출력 블록에 대해 어디에서 명령을 실행합니까? 그 명령은 무엇입니까? –

+0

안녕하세요 톰, 위의 예에서 아래로 스크롤해야합니다. 끝까지 볼 수 있습니다. 첫 번째 CLONE에 README를 추가 한 후에는 단순히 "git status"를 사용한 후 첫 번째 CLONE에서 "git pull"을 사용합니다. 그리고 "git status"는 마스터가 업데이트되었음을 ​​알려주지 않습니다. –

+0

고마워 ... 내가 생각하기로는 작업 영역과 준비 디렉토리 (추가, 커밋)의 파일/디렉토리 만 추적하고 마스터 레포에서 변경된 파일/디렉토리는 추적하지 않는 "git status"기능을 오해 한 것 같습니다. –

답변

1

자식은 자동으로 복제본을 업데이트하지 않습니다. 따라서 두 번째 클론과 리모컨에서 변경 사항이 발생 했음에도 불구하고 첫 번째 클론은 당길 때까지 readme이 존재한다는 것을 알지 못했습니다.

힘내는 명시 적이므로 원격지에서 가져 오거나 가져 오지 않고도 로컬 저장소에서 변경되지 않습니다.

+0

감사합니다. Briana, 나는 그 답변에 감사드립니다. –