2016-08-08 10 views
-1

...おそらく私は間違って使うからです。Gitは期待通りに動作しません

Szenario: 私はローカルリポジトリとリモートリポジトリ(ステージングと呼ばれる)を持っています。私は自分のローカルリポジトリで開発し、コミットしてリモートリポジトリにプッシュしました。次に、私のREMOTEリポジトリに、 "newfiletest"というファイルを追加しました。私はローカルで "git pull staging master"を実行するとき、 "newfiletest"ファイルをダウンロードする必要があります。

あなたはそれを得ることを願っています:P私はgitにちょっと新しいです。

+0

新しいファイルをリモートリポジトリにコミットしましたか? – Ryan

+0

'git remote show origin'と' git branch -av'を表示すると助けになります。 – Christoph

答えて

0

つまり、あなたのローカルリポジトリにいくつかの仕事をしたし、その後、あなたは

git add -A 
git commit -m "Embrace my epic programming skills" 

をした後、あなたはあなたが

git remote add <remote_name> <url> 

、その後

をしたように、リモートに上流にそれをプッシュすることを決めました
git push -u <remote_name> <branch> 

あなたののユーザー名をお聞きしますパスワードの認証の理由とその理由!あなたはあなたのものを上流に押し込んだ。

次に、Git Hubに新しいファイル(例:.gitignore、readme.mdなど)を作成することにしました。あなたはそうして、これはフェッチと

+0

正確ではありません。私はGit Hubを使いませんでした。私はリモートサーバー上で "git init --bare"を使って裸のリポジトリを作った。そのリポジトリをローカルに「ステージング」として追加しました。 そのリモートサーバー上で私は新しいファイル "newtestfile"を作成しました。私がローカルで "git pull staging master"を実行しているときに、それは私のローカルリポジトリにダウンロードされていません。 – SVARTBERG

+0

あなた自身のgitリポジトリをホストする場所に独自のサーバを設定しましたか? :s上記の例は、* Git Hub *の例です。より高度になり、自分のサーバを設定する前に、気分を味わってみてください。 –

+0

実際にgitがインストールされているWebサーバー私は "git init --bare"を実行したフォルダを作成しました。あなたの例との違いは本当に分かりません。私は実際にはまったく同じことをしています。 – SVARTBERG

0

問題は、あなたのサーバーにコミットなされない限り、Gitが追跡することはできませんということです、あなたの地元のrepoistoryの上にあなたの変更をマージする必要があり

git pull 

を実行しますその新しいファイル。ファイルをフォルダに入れるだけでは十分ではありません。コミットする必要もあります。私はあなたがそれを試したことがないので、あなたがサーバー上で直接コミットできるかどうかはわかりませんが、なぜ動作しないのかはわかりません。サーバ上でgit addgit commitを使用して、新しいファイルをリポジトリの一部にします。

+0

私は理解します。まあ。それは私の実際の問題を解決しませんでした。私はそれを私の顧客が進捗状況を示すステージングサーバーとして使用します。ローカル作業をサーバーにプッシュすると、フック(受信後)によってファイルが指定された作業ディレクトリに置かれます。私が欲しかったのは、誰かがサーバー上で何かを変更したときに安全であることです。私はgitしてサーバーの現在の状態を取得したいと思っていました。 – SVARTBERG

関連する問題