【问题标题】:Why doesn't "git status" give me changed files in shared repo?为什么“git status”不给我共享仓库中更改的文件?
【发布时间】:2016-10-12 22:19:02
【问题描述】:

以前有人问过这个问题,但我仍在努力解决。

这是我的流程:

# 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(+)

为什么“git status”看不到 2ND CLONE 添加的 README 文件,但“git pull”可以?

我看到了消息:

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

但是,对我来说……主文件已经更新,“git status”应该已经提到了那个 README 文件。

有什么想法吗?

【问题讨论】:

  • git status 哪里没有显示README 加法?您在哪里发出最后一个输出块的命令,它是什么?
  • 嗨,汤姆,您需要在上面的示例中向下滚动。你可以在接近尾声时看到它。在将 README 首先添加到第二个 CLONE 之后,我只是在第一个 CLONE 中使用“git status”,然后使用“git pull”。而且“git status”并没有告诉我 master 已经更新了。
  • 谢谢大家......我想我误解了“git status”的功能,它似乎只跟踪工作区和暂存目录中的文件/目录(添加、提交)而不是文件/目录更改在主仓库中。

标签: git git-status


【解决方案1】:

Git 不会自动更新克隆。因此,即使在第二个克隆中发生了更改并且遥控器知道它们,但第一个克隆在拉取之前不知道readme 存在。

Git 是显式的,因此无需从远程拉取或获取,本地存储库中不会发生任何变化。

【讨论】:

  • 非常感谢 Briana,感谢您的回复。
猜你喜欢
  • 2021-04-06
  • 2010-09-21
  • 2011-11-08
  • 1970-01-01
  • 2019-04-14
  • 2012-06-22
  • 2010-11-22
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多