2017-07-14 6 views
1

私はローカル(新しいPC上)とgithubリポジトリの両方のファイルを持っており、そのPC上にローカルリポジトリを複製/作成したいと思っています。新しいPCの現在のディレクトリに、リモートのリポジトリと同じファイルをローカルにコピーする

私はすでにやったテサ手順:

$ git init 
Initialized empty Git repository in /home/sebastien/.git/ 
$ git remote add origin https://github.com/xxxxx/yyyyyyyy 
$ git pull origin master 
remote: Counting objects: 791, done. 
remote: Compressing objects: 100% (615/615), done. 
remote: Total 791 (delta 148), reused 743 (delta 102), pack-reused 0 
Receiving objects: 100% (791/791), 2.04 MiB | 323.00 KiB/s, done. 
Resolving deltas: 100% (148/148), done. 
From https://github.com/xxxxx/yyyyyyyy 
* [new branch]  master  -> origin/master 
* branch   master  -> FETCH_HEAD 
error: Untracked working tree file '.initBash/.AV_functions' would be overwritten by merge. 
$ echo $? 
128 
$ git branch --set-upstream-to=origin/master master 
fatal: branch 'master' does not exist 
$ echo $? 
128 

EDIT 1:ローカルファイルが同じまたはリモートリポジトリ上のものよりも古いことができます。

お手伝いできますか?

+0

リポジトリを初期化するフォルダが空ではないと思われます。クローンを作成するリポジトリにも存在するファイルがあります。 – lschuetze

+0

'git init'を使ってローカルリポジトリを作成しましたが、実際にまだファイルを追加していません。 – chepner

答えて

1

error: Untracked working tree file '.initBash/.AV_functions' would be overwritten by merge.

ローカルファイルは上書きされます。したがって、問題を解決するには、ローカルファイルをコミットしてからリモートのmasterをプルすることができます。

fatal: branch 'master' does not exist

ローカルmasterがありません。このエラーです。

まず、クリーンアップあなたのgitの履歴:

は、指示に従ってください。私は.gitフォルダーを削除して、再度生成することを好む。

$ rm -rf .git 
$ git init 

ローカルファイル/変更を確定します。

$ git add -A 
$ git commit -m 'message' 

新しいリモートoriginをリモートのリポジトリのURLとともに追加します。

$ git remote add origin https://github.com/xxxxx/yyyyyyyy 

masterブランチの変更をプルします。

$ git pull origin master 

競合が発生した場合は、解決してください。完了しました。


代替:新しいPCのローカル変更は重要ではありませんし、リモートmasterと、ローカルリセットにしたい場合は、それに従います。

$ git init 
$ git remote add origin https://github.com/xxxxx/yyyyyyyy 

$ git fetch 
$ git reset --hard origin/master  # local changes = origin/master changes 
0

質問は、ローカルコピーですリモートリポジトリのバージョンと異なるファイルのもしそうなら、彼らと何をしたいのですか?

これらが異なる場合は、それらを削除してレポをクローンするだけで済みます。 (とにかく、リモートからのレポ必ずしもコピーファイルのクローンを作成する。)

git clone url/of/remote/repo 

ローカルファイルが異なっている、とあなたは違いを破棄したくない場合は、歴史の中で、彼らが属している場所を決定する必要があります。これは、ファイルのこのバージョンがどのように最初に来たかによって異なります。

最も単純な例:ファイルは、レポの最新バージョン(一部のブランチ)のコピーです。そして、おそらくそれらはそのブランチにプッシュされる更新を表すだけです。上記のようにリポジトリをクローンし、ローカルファイルを作業ツリーにコピーし、それを新しいコミットの基礎として使用します。

また、より古いバージョンのを変更している場合がありますか?その後、古いコミットから始めて新しいブランチを作成し、そこから移動することができます。 (コーンレポ、そしては作業ツリーの上にローカルバージョンをコピー、新しいブランチを作成し、チェックアウト、古いコミットをチェックしてください。)

別の答えで提案されているようにあなた(最初のローカルコピーをコミットすることができ)、gitのバージョンによっては、gitに無関係の履歴を受け入れる特別なオプションを与えなければならないかもしれませんし、そうしたときには、bc gitはそれぞれ独立した2つの変更ライン問題のファイルの

+0

ローカルファイルは、リモートリポジトリ上のファイルと同じでも古い場合もあります。 – SebMa

関連する問題