3

ある日、自分のフォルダのメインの作業ディレクトリがどこにあるか思い出せなかったので、githubWebページにある「git@github.com:」アドレスからプロジェクトのクローンを作成することにしました。

その日何をしていたのかわからなかったので、その後ディレクトリにたくさんのものを作成しました。次に、git add、git clone、およびgit pushを実行しました(方法を忘れています)。しかし今、私はgithubサイトに「gh-pages」と呼ばれるこのブランチを持っています。私は本当にそのブランチがなかったらいいのにと思いますが、私は持っています。

今日、私は元のディレクトリを見つけ、その中にいくつかのものを作成し、いくつかの「追加」といくつかの「プッシュ」を実行しました。それはマスターの「ブランチ」に行きました(私は他の奇妙なブランチにちょっと希望をあきらめたので、私はそれを期待していました)。しかし、私の問題は今これです:

私のユーザー(私は別のマシンでこれを自分で試しました)が私のプロジェクトのメインページでgithubが教えてくれたアドレスを使用してgitクローンを作成すると、奇妙な理由で「gh-pages」のコードになってしまいますブランチ。

Q1:今日(マスターブランチにある)作業したものを取得できるように、どうすればgitクローンを作成できますか?
Q2:githubサイトから「gh-pages」ブランチを削除するにはどうすればよいですか?私はそれを放棄することにしました。より良い提案があれば、私もそれを受け入れます。Q3:githubのプロジェクトに2つの別々のブランチのコードがあるPCに2つの場所があることに気付いたら、以前に何をすべきかを教えていただければボーナスポイントです。

4

3 に答える 3

6

Q1:git clone http://remote.url/repo.git -b master
Q2:、作業したいリモートをgit push origin :gh-pages想定しています。origin

ところで、gitにはかなり良いドキュメントが付属しています。でアクセスできます

$ git help command

例えば

$ git help clone
于 2012-04-03T08:38:10.017 に答える
1

Q1:デフォルトブランチをに変更master

説明によると、デフォルトのブランチがgh-pagesの代わりに設定されているようですmaster。修正するには、GitHubにログインし、リポジトリをクリックし、[管理]ボタンをクリックして、[デフォルトブランチ]をに変更しmasterます。

これは、GitHubリポジトリ内のシンボリック参照を。の代わりにHEAD指すように変更します。リポジトリのクローンを作成するとき、Gitはリモートリポジトリの参照を調べ、それをデフォルトのブランチとして使用してチェックアウトします。詳細については、別の質問に対する私の回答を参照してください。通常は新しいベアリポジトリを指しますが、Git(およびGitHub)では変更できます。refs/heads/masterrefs/heads/gh-pagesHEADHEADrefs/heads/master

gh-pagesQ2:ブランチを削除します

gh-pagesブランチは、GitHubがプロジェクトページにコンテンツをアップロードするために使用する特別なブランチです

gh-pagesGitHubリポジトリからを削除するには:

git push git@github.com:username/repo.git :gh-pages

また:

git push --delete git@github.com:username/repo.git gh-pages

上記のコマンドはgh-pagesGitHubリポジトリからブランチを削除するだけでありgh-pages、ローカルリポジトリからブランチを削除しないことに注意してください。ローカルgh-pagesブランチを削除するには:

git checkout master
git branch -D gh-pages
于 2012-04-04T15:42:49.673 に答える
0

Q3:

私が正しく理解していれば、同じリポジトリが2つの別々のフォルダーに2回クローンされており、各クローンには、いくつかの使用可能なコードを持つ異なるブランチがあります。

保持したいクローンを選択してから、他のクローンブランチと同じ名前で新しいブランチを作成する必要があると思います。次のコマンドは、新しいブランチを作成し、自動的にチェックアウトします。

git checkout -b <other-branch-name>

他のブランチがすでにGithubにプッシュされていると仮定すると、保持したいブランチにそれをプルするだけです。

git pull --rebase origin <other-branch-name>

他のブランチをまだプッシュしていない場合は、サーバーに公開してアップロードします。

git push origin <other-branch-name>

または、ソースから宛先のブランチに直接移動することもできますが、これがどの程度うまく機能するかはわかりません。免責事項、本番モードで自分で試したことはありませんが、それが正しく、機能するはずです。

git push origin <other-branch-name>:<current-branch>
于 2013-03-23T12:47:54.410 に答える