gitで「マスター」に戻す方法は?


135

私は最初のコミットを行いました。次にブランチを作成します(branch1としましょう)。

このブランチでは、ディレクトリ「example」を作成してコミットしました。GitHubに、新しいブランチと、追加した新しいディレクトリ「example」が表示されます。

どうすればマスターに「同期」できるのでしょうか。そして、「example」フォルダが削除されます(マスターに存在しないため)。

編集:find . -type d -empty -exec touch {}/.gitignore \; 仕事をしました。

回答:


239

ブランチをチェックアウトする必要があります:

git checkout master

詳細については、Gitチートシートを参照してください。

編集:gitは空のディレクトリを管理しないので、自分で管理する必要があることに注意してください。ディレクトリが空の場合は、直接削除してください。


「マスターはすでにオン」ですが、「example」ディレクトリがまだ残っています。マスターと同期したい(マスターブランチに存在しないため、このフォルダーがないため)
Disco

#ブランチマスターではコミットするものは何もありません(作業ディレクトリはクリーン)
Disco

@ディスコ:以前にこの問題が発生したことがあります-インデックスで追跡されていない場合は、ローカルでディレクトリを削除するだけで、後でディレクトリを元に戻すことができますgit checkout branch1
Platinum Azure

1
うーん、残念。そのためのオプションはありませんか?私の頭の中のディレクトリを追跡することができません
Disco

6

Gitチートシートによると、最初にブランチを作成する必要があります

git branch [branchName]

その後

git checkout [branchName]

2
私はあなたがもう一度質問をチェックすることができると思います
eli

2

ブランチを削除するには、ブランチで行った変更を隠しておくか、ブランチで行った変更をコミットする必要があります。現在のブランチに変更を加えた場合は、以下の手順に従ってください。

  1. git stash または git commit -m "XXX"
  2. git checkout master
  3. git branch -D merchantApi

注:上記の手順により、ブランチがローカルで削除されます。


1

向こうで何が起こっているのかについて頭を整理しようとしています。「example」フォルダに何かありますか?Gitは空のフォルダーを追跡しません。

ブランチして新しいブランチに切り替えた後、新しいフォルダーを作成してそれを空のままにして、「git commit -a」を実行した場合、コミットでその新しいフォルダーを取得できません。

つまり、追跡されていないことを意味します。つまり、別のブランチをチェックアウトしても、そのブランチは削除されません。


gitが私のディレクトリ(/ home / dev)を初期化した後、「commit -a」を実行してgithubにプッシュしました。次に、新しいブランチを作成しました。内部にいくつかのファイルを含むディレクトリ「example」を作成し、ブランチをコミットしました。ここで、新しいブランチに作成した「example」ディレクトリなしで、初期段階(マスター)に戻りたいと思います。
ディスコ

また、masterブランチにはディレクトリ「example」がありません(githubに表示されています)
Disco

更新:サンプルディレクトリ内に空のフォルダーが1つありました。これがまだディレクトリを表示する理由ですか?gitを使用してそれを取り除く方法
Disco

あなたはしません。gitはそれを知りません。削除してください。マスターをチェックアウトすると、ブランチにはあるがマスターにはないファイルが作業ディレクトリから削除されます。
ダン・レイ

1

あなたをマスターブランチに連れて行きます。

git checkout master

他のブランチに切り替えるには、次のようにします(角かっこは無視してください。強調するためです)。

git checkout [the name of the branch you want to switch to]

新しいブランチを作成するには、次のように-bを使用します(角かっこは無視してください。強調のためです)。

git checkout -b [the name of the branch you want to create]

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.