他人のリポジトリを clone する。
$ git clone git://repo.or.cz/libquvi-scripts.git Cloning into libquvi-scripts... remote: Counting objects: 1766, done. remote: Compressing objects: 100% (701/701), done. remote: Total 1766 (delta 1036), reused 1766 (delta 1036) Receiving objects: 100% (1766/1766), 284.76 KiB | 141 KiB/s, done. Resolving deltas: 100% (1036/1036), done. $ cd libquvi-scripts/
リポジトリの branch を確認。現在のブランチは master。このリポジトリの場合、next ブランチが最新版らしい。
$ git branch -a -v * master 67ea69d Bump version to 0.4.7 remotes/origin/HEAD -> origin/master remotes/origin/maint 67ea69d Bump version to 0.4.7 remotes/origin/master 67ea69d Bump version to 0.4.7 remotes/origin/next ee9b7fd tests: format/default: Add lego.json
自分用のブランチを作成し、ブランチの開始状態を origin/next と同じものにする。
$ git branch my_next origin/next Branch my_next set up to track remote branch next from origin. $ git branch -a -v * master 67ea69d Bump version to 0.4.7 my_next ee9b7fd tests: format/default: Add lego.json remotes/origin/HEAD -> origin/master remotes/origin/maint 67ea69d Bump version to 0.4.7 remotes/origin/master 67ea69d Bump version to 0.4.7 remotes/origin/next ee9b7fd tests: format/default: Add lego.json
作成したブランチに checkout する。ワーキングコピーのツリーは origin/next と同じものになる。
$ git checkout my_next Switched to branch 'my_next' $ git branch -a -v master 67ea69d Bump version to 0.4.7 * my_next ee9b7fd tests: format/default: Add lego.json remotes/origin/HEAD -> origin/master remotes/origin/maint 67ea69d Bump version to 0.4.7 remotes/origin/master 67ea69d Bump version to 0.4.7 remotes/origin/next ee9b7fd tests: format/default: Add lego.json
git clone した場合、このようなブランチを作成し、作成したブランチにcheckoutする作業は(master に対する作業は)自動的に行われる。
適当に編集。
$ vim share/lua/website/xvideos.lua
commit 前にユーザ名とメールアドレスを変更して、commit。
$ git config user.name "AYANOKOUZI, Ryuunosuke" $ git config user.email "i38w7i3@yahoo.co.jp" $ git commit -a -m "****************************************" [my_next 137e398] **************************************** 1 files changed, 22 insertions(+), 2 deletions(-)
origin/next からのパッチを時系列順に作成する。今回はcommitが1回なので作成されるpatchは1つ。
$ git format-patch origin/next 0001-***************************************.patch