web-dev-qa-db-ja.com

自分のGitHubリポジトリをフォークするにはどうすればよいですか?

だから、Gitの初心者です。ガイドを読んでいて、私には基本があると思いますが、この1つの目標を達成するのに苦労しています。

一般的なマークアップソースコード用に作成されたリポジトリがあります。ブレイクアウトごとに再利用するものだけです。それは呼ばれています markupDNA.git

Macサイトに別のディレクトリを置きたいdir~/Sites/project-N。私が一般的なものに基づいて構築し、サイトのブレイクアウトを行うところ。これらをフォークとしてメインのgitリポジトリに関連付けたいのですが、自分のリポジトリをフォークすることはできませんか?

私はこのようなことをしたいです:

git clone <url> name
git add .
# make changes
git commit -m 'whatever'
git Push

しかし、私はそれをOriginにプッシュしたくありません。クローンが作成されたmarkupDNAリポジトリのフォークにプッシュする必要があります。しかし、それは私の変更をOriginマスターにプッシュするだけのようです。アイデアは、markupDNAをクリーンに保ち、さまざまなプロジェクト用にたくさんのフォークを用意することです。各プロジェクトには、ハードドライブに独自のクローンディレクトリがあります。

何か案は?

30
Fuego DeBassi

別々のフォークを使用するよりも、おそらく ブランチ を使用する方がはるかに簡単です。ブランチごとに個別のチェックアウトを行うこともできます。リポジトリのクローンを複数回作成し、それぞれでgit checkoutを使用して適切なブランチに切り替えます(またはgit checkout -bを使用してブランチを作成し、一度にチェックアウトします)。ブランチを作成したら、git Push Origin <branchname>を使用してブランチをGitHubにプッシュできます。

19
Brian Campbell

あなたは正しいことをしています。

cd ~/Sites/
git clone ~/Dev/markupDNA/ project-N
cd project-N
git remote rename Origin markupDNA
  • プロジェクトを保存するフォルダーに移動します
  • ベースのmarkupDNAリポジトリをカスタム名で複製します
  • 後で「オリジン」にしたい場合にできるように、リモコンの名前を変更します
23
kubi

独自のリポジトリの真のGitHubフォークを作成するには、次の手順を使用できます。

  1. 組織を作成する
  2. 組織へのフォーク
  3. フォークされたプロジェクトの名前を変更する
  4. アカウントに戻ります
9
cnd

このチュートリアル 簡単でわかりやすい答えが得られます:

  1. 新しい空のgithubforkedreporepositoryを作成します
  2. ローカルでクローンを作成します。

    git clone https://github.com/YOURUSERNAME/forkedrepo.git
    
  3. 元のgithubリポジトリを新しいローカルリポジトリのリモートとして追加します。

    git remote add upstream https://github.com/YOURUSERNAME/originalrepo.git
    
  4. 元のgithubリポジトリのコピーを新しいローカルリポジトリにプルダウンします。

    git pull upstream master
    
  5. 新しいローカルリポジトリから新しいgithubリポジトリにファイルをプッシュします。

    git Push Origin master
    

もちろん、これは元のリポジトリのフォークとしてgithubによって認識されませんが、これは問題ありません。

9
Iwazaru

驚いたことに、誰もこの男の ブログ投稿 をまだ参照していません。

関連する手順は次のとおりです。

$ git clone [email protected]:YOURNAME/foo.git bar
$ cd bar
$ vim .git/config
[remote "Origin"]
    fetch = +refs/heads/*:refs/remotes/Origin/*
    url = [email protected]:YOURNAME/bar.git #replace foo with bar
$ git remote add upstream [email protected]:YOURNAME/foo.git
$ git Push -u Origin master

設定を編集する代わりに、私は通常git remote removegit remote addの組み合わせを使用します。

アップストリームのオリジンを維持したい場合は、git remote renameの後にgit remote addを使用することもできます。

9
funroll

確かに、クローンからクローンを作成できます。 gitには、メインリポジトリの概念はありません。人々はしばしばメインリポジトリを指定しますが、それは技術的な理由ではなく、慣例によるものです。

したがって、説明したとおりに、さらにはそれ以上のことをすべて行うことができます。

たとえば、一般的なものへの追加や変更のアイデアをブレイクアウトサイトにブランチしておくことは理にかなっています。これらをジェネリックレポに向けて引き上げ、そこから再度配布することができます。

1
Peter Tillemans

Githubのインポートツール を使用することもできます。

(SVNなどからのインポート用に作られていますが、これにも使えます)

  • Githubに新しいリポジトリを作成します。 [〜#〜]重要[〜#〜]:「READMEで初期化」しないでください
  • 次の画面で「コードのインポート」をクリックします
  • インポートするGithubリポジトリにURLを貼り付けます。 ( スクリーンショット

繰り返しますが、これは新しいリポジトリを作成することであり、Githubの真のフォークではありません。しかし、あなたのすべての枝、歴史などはそこにあります。

0
mihow