0

プロジェクト ファイルを含む既存のリポジトリを git-hub に用意します。

新しいマシンで、myproject などのターゲット ディレクトリに移動し、次のようにします。

$ git 初期化

$ git remote add origin https://github.com/myco/myproj.git

$ git pull (これにより大量のファイルがダウンロードされます)

$ ls (ファイルなし)

$ git branch --set-upstream master オリジン/マスター

$ ls (ファイルなし)

$ git status (すべてのファイルが削除対象としてマークされていることを示します!)

以前にこのレシピを使用したことがありますが、レポをチェックアウトするとすべてのレポ ファイルが削除される理由がわかりません。

git pull の前に git ブランチを実行しようとすると、エラーが発生します。

git clone を使用することはできません。最終的には、ファイルを eisting ディレクトリにチェックアウトする必要があります。このディレクトリには、既にいくつかのプロジェクトの donfig ファイル (git ではありません) が含まれています。

何か案は?

4

1 に答える 1

1

それが実際に実行したコマンドの正確なシーケンスである場合は、現在の場所を理解するのに役立ついくつかのコメントを次に示します。

$ git init

(新しいマシンなどで) 空のディレクトリを入力したように見えるため、現在のディレクトリから新しいリポジトリが作成されます。このリポジトリにはオブジェクトがなく、masterブランチもまだなく、コミットもありません...

$ git remote add origin https://github.com/myco/myproj.git

これにより、オリジン リポジトリが追加されますが、問題はありません。

$ git pull (this downloads lots of files)

これは 2 つのことを行います -リポジトリには現在あるが、ローカル リポジトリにはないgit fetchすべてのオブジェクト、ブランチなど (つまり、現在空のリポジトリにいるためすべて) を収集し、その後に. フェーズはここで失敗するはずで、「何をマージしたいか教えてくれなかったので、マージしません」というメッセージが表示されます。origingit mergemerge

$ ls (no files)

右。まだ何もチェックアウトしておらず、git merge上記が失敗したため、作業ディレクトリを更新するまでには至りませんでした。

$ git branch --set-upstream master origin/master

ここで、上流であり、開始点であるmasterブランチを作成しています。origin/masterただし、これはブランチをチェックアウトしないため、作業ディレクトリは以前と同じ状態、つまり空のままになります。

$ ls (no files)

まだ何もチェックアウトしていないので、これは予期されたものです。

$ git status ( shows all the files are marked for deletion! )

git空の作業ディレクトリとそこにあるはずのものを比較し、すべてを削除したに違いないと判断します。

あなたが本当にやりたかったことはこれです:

$ cd directory/where/you/want/your/repository
$ git clone https://github.com/myco/myproj.git
$ cd myproj

次に、追加のプロジェクト構成ファイルを所定の場所にコピーします。

本当にすべて手動で行いたい場合は、git fetch代わりに を使用し、行のgit pull後にa を実行します(または行の代わりに実行します。これにより、ファイルをチェックアウトする前に暗黙的にブランチのセットアップが行われます)。git branch ...git checkout mastergit checkout -b master origin/mastergit branch ...

于 2013-08-29T15:45:06.687 に答える