以下のコマンドで示されているように、git cloneはgitリポジトリとして正常に使用され、 。しかし、git statusは、更新されたクローンと元のgitリポジトリとの間の違いを検出しません - なぜですか?元のリポジトリにない新しい変更が含まれているとみなされないgitリポジトリとして動作するgit cloneへの変更
$ mkdir -p /var/tmp/git_master
$ cd /var/tmp/git_master
$ git clone https://the_repo.com/stuff.git
Cloning into 'stuff'...
~
~
~
$ cd
$ mkdir fooey
$ cd fooey
$ git clone /var/tmp/git_master/stuff
Cloning into 'stuff'...
done.
$ cd stuff/
$ git branch test
$ git checkout test
Switched to branch 'test'
$ touch test.txt
~
~
~
$ git commit -m"initial"
$ git push origin test
Counting objects: 6, done.
Delta compression using up to 12 threads.
Compressing objects: 100% (4/4), done.
Writing objects: 100% (6/6), 526 bytes | 0 bytes/s, done.
Total 6 (delta 2), reused 0 (delta 0)
To /var/tmp/git_master/stuff
* [new branch] test -> test
$ pushd /var/tmp/git_master/stuff
$ git branch
* master
test
$ git status
On branch master
Your branch is up-to-date with 'origin/master'.
nothing to commit, working tree clean
$
なぜgit status
は/var/tmp/git_master/stuff
がリモートリポジトリhttps://the_repo.com/stuff.git
ではありませんtest
という名前のローカルブランチが含まれていることを報告しませんか? git branch -avv
$ git branch -avv
* master 52a921c [origin/master] some message
test 39dbcbf some message
remotes/origin/HEAD -> origin/master
remotes/origin/xyz b5edac5 some message
remotes/origin/master 52a921c some message
受け入れ答えから
出力は、別の質問につながる:どのようにリモートリポジトリhttps://the_repo.com/stuff.git
に/var/tmp/git_master/stuff
内のすべての変更をプッシュしますか? (私はそれが元の質問で取り組まれている問題を完了したので、このフォローアップの質問が個別に尋ねする必要はありません信頼しています。)フォローアップするために質問を
決議をここhttps://stackoverflow.com/a/6232535/1823664見つけることができます - git checkout test
git push -u
が続きます。数が揶揄していることを、この提案もあります:https://stackoverflow.com/a/21232996/1823664
git statusは、ファイル、ステージングされたファイルまたはuntrackedファイルの変更のみを報告します。ブランチの詳細を見るには、VonCが答えたようにgit branch -avvを使う必要があります。 – nj2237