3

私はこのようにファイルをステージングしました

git add mydir
git add mydir/myfile

そしてそれらを私のリポジトリにプッシュしました

git remote add origin https://github.com/usename/myrepo.git
git push origin master

見るgit status -sと、ファイルが追加されたと表示されますが、実際のリポジトリには表示されません。誰かがここで何が起こっているのか知っていますか?

4

1 に答える 1

8

ファイルをリポジトリに「追加」しておらず、ステージングインデックスにのみ追加しています。

からへgit commitの変更を取得する必要があります。staging indexrepository

git status作業ツリーステージングインデックスのステータスを表示します。履歴git logのステータスを表示します。つまり、リポジトリにコミットされた内容を表示します。git log

git status例として、次の出力を参照してください。


git status               
# On branch master
# Changes to be committed:
#   (use "git reset HEAD ..." to unstage)
#
#   modified:   Game.py
#

この場合、コミットされる変更にはが含まれていることがわかりますGame.py。これらの変更はまだリポジトリに追加されていないことに注意してくださいgit status。言うように、これらはステージングされたばかりで、コミットする準備ができています。

次のステップは、で準備したこれらの変更をコミットstaging indexし、リポジトリに追加することです。git commitこれを行うためのコマンドです。

この回答と、リンクされているPro Gitの本gitには、リポジトリにコミットする際のセットアップと手順を理解するのに役立つ優れた資料があります。

実際のリポジトリでそれらを見ることができません。

「実際の」リポジトリとはどういう意味ですか?ローカルコミットが表示されないということだと思いますが、使用しているリポジトリについて混乱が生じる可能性があります。

1つと1つの2つのリポジトリを使用しています。あなたの場合、リポジトリはGitHubにあります。ローカルで作業を行い、次にリモートで作業を行います。localremoteremotegit push

まず、ローカルの変更とコミット

したがって、コードの変更をlocalリポジトリに取り込む手順は次のとおりです。

  1. に変更を加えますworking directory。これはほとんどの場合、コードを記述しています。
  2. commitステージングの変更によってを構築します。これはを使用して行われgit addます。
  3. リポジトリに組み込んだコミットを「保存」します。これはを使用して行われgit commitます。

これらの手順は**ローカル*で行われます。これらの手順はいずれも、GitHubリポジトリに影響を与えません。

次に、git pushリポジトリremote(この場合はGitHub)に移動します。

コードlocalremoteリポジトリに取得するには、git pushを使用します。

  1. remoteリポジトリで認識されているリポジトリを確認してlocalくださいgit remote -v
  2. GitHubリポジトリが表示されていない場合は、追加する必要がありますgit remote add <NAME> <URL>
  3. あなたがそうしなかったのでgit clone、2つのリポジトリ(localremote)には共通のコミットがありません。それで大丈夫です; gitこれは、変更をプッシュする場所が自動的にわからないことを意味するため、次のように指定する必要がありますgit push <NAME> master:master。それはあなたのlocal masterブランチをブランチにプッシュします<NAME> master
于 2012-08-09T03:11:12.097 に答える