2016-04-30 12 views
2

以前はLinuxサーバーに裸のgitリポジトリを、開発用にローカルWindowsラップトップに作業コピーを保存していました(sshを使ってTortoiseGitを使ってサーバーに同期する)。サーバーのバージョンは削除/失われたので、Windowsマシン上のローカル作業コピーからの最新のコミットを使用して、サーバー上のrepoを再作成します。git repoをWindowsからLinuxに複製するには?

Windowsの作業コピーからリモートのLinuxサーバーにこの新しいリモートの裸のレポ・コピーを作成する最良の方法は何ですか?

答えて

1

は、次の手順に従います。

  1. は、リモコンの裸のリポジトリを作成します。

    私はAD22が提供する答えはあなたのために十分であると思います:

    mkdir -p myrepo.git 
    cd myrepo.git 
    git init --bare 
    

    そうでない場合は、サーバーの塗装されていないリポジトリを作成する方法を見つける必要があります。

  2. 作成したばかりの裸のレポジトリのURLをコピーまたはメモします。

    (原因のうち、あなたがURLにアクセスするための権利を持っている必要があります。)

  3. は、ローカルリポジトリのための新しいリモートを追加します。

    すでにローカルリポジトリを持っているので、

    1. 右、そのリポジトリにクリックTortoiseGitクリック - >Settingsを、
    2. は、あなたがそれを追加して適用
    3. をコピーし、リモート短縮名とURLを与えます設定します。

    参照:ローカルリポジトリ内で右クリックして、リモートへ

    enter image description here

  4. プッシュとプッシュ項目をクリックします。プッシュダイアログで

    1. 追加したばかりのリモートを選択します。
    2. すべてのブランチがそうでなければ、1で各ブランチ1を押す必要がある、パブリックできる場合プッシュすべての分岐]チェックボックスをオンにします。
    3. あなたはすべてのタグをプッシュする場合はタグチェックボックスを含める確認してください。

    enter image description here

それがすべてだと仮定します。^__^

2

サーバ上にリポジトリを作成し、以前と同じ場所でない場合は、ローカルのローカルにリポジトリを追加して押します。

あなたは、リモートURLが同じであると仮定すると、ローカルコピーに

mkdir -p myrepo.git 
cd myrepo.git 
git init --bare 

を使用してLinuxサーバのレポを再作成することができます

5

、例えば

git push origin <branch refspec> 

行う

git push origin master 

注:リモートURLが変更された場合は、

お使いのWindowsマシン上で
git remote set-url origin <new-url> 
+2

ブランチがたくさんある場合、 'git push origin --all'の後に' git push origin --tags'を続けると、ブランチとタグを1つずつ押すよりも簡単です。 – PerlDuck

0

git clone --bare /path/to/local-working-copy-of-the-repo 

上記のコマンドは、ローカルの作業コピーの - repo.gitフォルダを作成します。
フォルダ(裸のリポジトリ)をLinuxサーバにコピーします。

これが役に立ちます。

+1

これは_best_のアイデアではありません.Windowsでレポを作成すると、CR/LFやファイルシステムの問題(大文字と小文字の区別、 'x'フラグの欠如)に関連する '.git/config' )。 Linux上で空の裸のレポを作成し、それをプッシュする方が良いでしょう。 – PerlDuck

関連する問題