- 追加された行はこの色です。
- 削除された行はこの色です。
// 下階層用テンプレート
#topicpath
----
//ここにコンテンツを記述します。
#contents
** コミットを一つにまとめる [#k6ac16c1]
$ git log --decorate --oneline
050ea7f (HEAD -> master) 005
1d71318 004
cfb0c7a 003
608528b 002
a4431df 001
003,004のコミットを一つにしたい場合。
$ git rebase -i 608528b ←1つにしたいコミットの、一個前を指定。
エディタが開きます
pick cfb0c7a 003
pick 1d71318 004
pick 050ea7f 005
これを
pick cfb0c7a 003
squash 1d71318 004 ←うえのコミットにまとめるの意味。
pick 050ea7f 005
に書き換えて保存します。すると、もいちどコミットメッセージを入れる画面が開くので、メッセージを記載して再度保存します。
[detached HEAD f9f948f] 003 + 004
Date: Wed Dec 21 13:19:43 2016 +0900
1 file changed, 2 insertions(+)
Successfully rebased and updated refs/heads/master.
$ git log --decorate --oneline
6fb9004 (HEAD -> master) 005
f9f948f 003 + 004
608528b 002
a4431df 001
コミットが一つに書き換えられました。書き換えた場所以降のコミットも、新たなコミットの扱いになってますね。
pick cfb0c7a 003
squash 1d71318 004
squash 050ea7f 005
など複数指定することもできます。直前のコミットにまとめる、という意味なのでこの場合は004,005のコミットを003にまとめることになります。
環境によっては
Could not execute editor
というエラーが出る場合があります。そんなときは.gitconfigにエディタの情報を追記しておきます。
$ cat ~/.gitconfig
...
...
[core]
editor = /usr/bin/vim
**リビジョン番号の確認、HEADの位置の確認 [#nc442e88]
$ git checkout master
$ git log --oneline --decorate
09a6a5a (HEAD -> master, dev3, dev) dev commit
9210c21 dev commit
3fc335e dev commit
0e46a27 (dev6, dev5, dev4, dev2) dev2 commit
e97cefa dev2 commit
c39d327 dev2 commit
366da11 master commit
** 派生元を指定してBranch作成 [#x56bbec7]
$ git branch dev_dest dev_source
$ git checkout -b dev_dest dev_source <-作成 & 移動
dev_sourceのリビジョンを元に、dev_destブランチを作成します。
** リビジョン番号からBranch [#aab87e06]
$ git show dev4
commit 0e46a2730ab69f1a270ce92bee88fc9eda97538a
... 略
$ git checkout -b dev_dest 0e46a2730ab69f1a270ce92bee88fc9eda97538a
枝分かれのブランチっても、作成した瞬間はおなじ状態です。
$ git show dev4
commit 0e46a2730ab69f1a270ce92bee88fc9eda97538a
..
$ git show dev_dest
commit 0e46a2730ab69f1a270ce92bee88fc9eda97538a
..
単なる別名って感じでしょうか。
** コミットをまとめる [#z70aaf13]
dev_#35_spike でチマチマコミットしていた内容を dev_#35 へまとめる対応
# git checkout dev_#35 <- チケット番号のイメージ
# git merge --squash dev_#35_spike
**違う名前のリモートブランチにプッシュする [#oe1264d1]
> git checkout -b dev-spike
> git branch -a
* dev-spike
master
remotes/origin/HEAD -> origin/master
remotes/origin/master
> git push origin dev-spike:dev-spike1
To https://github.com/masatomix/hello.git
* [new branch] dev-spike -> dev-spike1
**addしないでコミット [#uc88ddd1]
git commit -a
**リモートのブランチの削除 [#o7f554bf]
[[Githubのブランチ削除 - Qiita>http://qiita.com/kwgch/items/98bbaae8e9f40a9548e0]]
**ローカルのブランチの削除 [#m06eba01]
> git branch
* dev-spike
master
> git checkout master
Switched to branch 'master'
Your branch is up-to-date with 'origin/master'.
> git branch -d dev-spike
Deleted branch dev-spike (was c5776c5).
> git branch
* master
消えました
[[4. ブランチを削除する【チュートリアル1 ブランチを使ってみよう】 | サルでもわかるGit入門 〜バージョン管理を使いこなそう〜 | どこでもプロジェクト管理バックログ>http://www.backlog.jp/git-guide/stepup/stepup2_5.html]]
**GitHubのページに出てた、Gitのコマンド(Get Startedみたいなヤツ)。。 [#nc21142c]
touch README.md
git init //ローカルリポジトリの初期化
git add README.md //ローカルへ追加
git commit -m "first commit" //ローカルへコミット
git remote add origin https://github.com/masatomix/Hello-World.git //既に存在するリモートのリポジトリに、origin って名前をつける
git push -u origin master //リモートリポジトリにローカルの情報を反映
こんな意味って感じ?
-[[Git - Downloads>http://git-scm.com/downloads]]
-[[Gitリモートリポジトリ構築 CapmNetwork>http://capm-network.com/?tag=Git%E3%83%AA%E3%83%A2%E3%83%BC%E3%83%88%E3%83%AA%E3%83%9D%E3%82%B8%E3%83%88%E3%83%AA%E6%A7%8B%E7%AF%89]]
-[[Git がわからなくても Github を利用しよう - そんなこと覚えてない>http://blog.eiel.info/blog/2013/02/06/how-to-use-github/]]
-[[サルでもわかるGit入門 〜バージョン管理を使いこなそう〜 | どこでもプロジェクト管理バックログ>http://www.backlog.jp/git-guide/]]
**コマンド基本 [#gc95b0e7]
リポジトリからマスターをClone
git clone https://github.com/masatomix/ui-router-sample.git ←URLは例
cd ui-router-sample
Branchに切替
git branch 一覧
git branch dev 作成
git checkout dev 切替
いろいろ修正、そのあとコミット
git diff
git commit
コミットされた(( not stagedなファイルがあれば -a オプションつける))
リポジトリへプッシュ
git push origin dev
ステータスのチェック
git status
差分チェック
git diff
-[[すぐ分かる! git の origin と master ってなんだ? - Qiita>http://qiita.com/hshimo/items/99811144bf4a081319e5]]
-[[Git - 変更内容のリポジトリへの記録>http://bit.ly/1YiOXgJ]]
----
この記事は
#vote(おもしろかった,そうでもない)
#comment
#topicpath
SIZE(10){現在のアクセス:&counter;}