1

私のgitの使用は、これまでほとんどIDEを介して行われており、簡単なことだと思っていたものに少し悪夢を見ています。

リモート サーバーでは、正常に動作しているように見える gitolite を実行しています。ローカル マシンはサーバーに接続して簡単なタスクを実行できます。

サーバー上にローカルのレポと同じ名前のレポがありますが、ローカルのレポはサーバーのバージョンよりもずっと前に作成されました。

SO をよく読んだ後、リモートのクローンを作成してからサーバーにプッシュすることをお勧めしました。そう:

$ git clone ***server***:***repo***
Cloning into ***repo***...
warning: You appear to have cloned an empty repository.

これを行うと、励ましのメッセージが表示されます。

$ git push origin master
Counting objects: 4070, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (3737/3737), done.
Writing objects: 100% (4070/4070), 15.16 MiB | 588 KiB/s, done.
Total 4070 (delta 867), reused 0 (delta 0)
To ***server***:***repo***.git
 * [new branch]      master -> master
$

すべて問題ないように見えますが、ファイルがサーバー上にありませんか?

マージする必要がありますか、リベースはどうですか... これは私の知識が完全に崩壊する場所です。私はgit-scmのドキュメントを読もうとしましたが、正直に言うと.. それは私の頭をはるかに超えており、これはとても簡単なことのようです。

4

1 に答える 1

6

サーバーにはベアリポジトリのみが含まれます。つまり、チェックアウトはありませんobjetcs/ファイルは、ディレクトリとpack言及したファイルにのみ保存されます。ファイルが実際にそこにあることを確認するためにできることは、たとえば、ローカル マシン上のサーバーから新しいクローンを作成することです。または、サーバー上で、次のことを行うことができます

git ls-tree -r master

モードとハッシュとともにすべてのファイルのリストが表示されます。

編集: Pro Gitブックのサーバー上の Git に関する章をお読みください。

于 2013-03-12T08:57:49.270 に答える