Skip to content

Instantly share code, notes, and snippets.

@kohashi
Created March 28, 2012 16:47
Show Gist options
  • Star 3 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save kohashi/2228121 to your computer and use it in GitHub Desktop.
Save kohashi/2228121 to your computer and use it in GitHub Desktop.
tortoiseGitから、gitHub上のpull requestを解決する

tortoiseGitから、gitHub上のpull requestを解決する

pull requestでは、ファイルの更新がかち合っただけでgitHubのWebページ上では編集できなくなる。

gitHubのヒントに、コマンドベースで解決する方法は載っているが、win上でtortoiseGitを使っている場合に面倒なので解決策を記してみる。


gitHubで出てくるコマンドはこんな感じ :

Step 1: Check out a new branch to test the changes — run this from your project directory
    git checkout -b PushUser-master master

Step 2: Bring in PushUser's changes and test
    git pull https://my@github.com/PushUser/projectname.git master
Step 3: Merge the changes and update the server
    git checkout master
    git merge PushUser-master
    git push origin master

まずはローカルにあるgitを最新にする。全部pullアンド全部push.もちろんcommitは終わってること

Step1:

  1. まずは右クリック→tortoiseGit→Switch/Checkout
  2. 出てきた画面、Switch To は masterを。 Option で Create New Branch にチェックをいれ、PushUser-master ブランチが出来る。

Step2:

  1. Pullを開く。Remoteの欄は、Remote:ではなくArbitary URL:を選び、 https://my@github.com/PushUser/projectname.git を入れる。 SSH接続のため、gitHubのパスワードを入れるウィンドウが出る。gitHubのパスワードを入れる。
  2. (ここまででconfrictしていたらmargeすること。)
  3. commit。これが重要であるようだ。メッセージは自動生成のものを。この手順はコマンドだと省略。理由は不明(衝突時のみ必要?)

Step3:

  1. 右クリック→tortoiseGit→Switch/Checkout して、 Branchの値をmasterにする。
  2. 右クリック→tortoiseGit→Switch/Merge して、From: Branch の値を PushUser-master にしてOK。Messageは自動生成のものでOK。
  3. いつものようにpushする。

いつも手順に迷うし、混乱してしまい結局sshでlinuxにログインして新しくcloneしてコマンド操作、ということが多くなってしまうのでメモした。 誰かの助けになれば、と思う。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment