狠狠撸
Submit Search
Git svnではじめる忍者のごとく潜むgit
?
Download as PPTX, PDF
?
31 likes
?
13,702 views
Kazuki Sato
社内勉強会で使用した、git svnをオススメするスライド
Read less
Read more
1 of 35
Download now
Downloaded 47 times
More Related Content
Git svnではじめる忍者のごとく潜むgit
1.
*
?骋颈迟入门をあえて蝉惫苍から入る、の巻?
2.
* なぜgitか?なぜgit-svnか? * Gitのインストール *
git svn clone、trunkとmasterの関係 * コミット、そしてプッシュ * ブランチ(切る。作業する。リベース) * ブランチしたらプッシュの前に * その他のtips * まとめ *
3.
* 忍者のごとく、subversionに潜む
4.
*Gitにはローカルレポジトリ=自由がある! * ひとりひとりが専用のレポジトリ
* バージョン管理の便利さを気兼ねなく * コミット済みのコードを変更できる * あのコミットを無かった事に * Rev(21)とRev(25)をまとめたかった??? * 機能追加にまじってバグ修正かよ??? * つまり履歴が奇麗に! *
5.
*すぐにgitに移行できるとは限らない *チームメイトへの配慮
*社の方針 *git-svn *gitの使い勝手+subversionの結果 *Svn派にバレずにを邪魔せずに使える *
6.
*
ぶっちゃけ公式见れば良いんだけどね
7.
見ればわかる! …というわけにも行かないので
8.
* コンソールは公式からどうぞ *
http://git-scm.com/downloads * GUI(Mac) * 私はSourceTree * AppStoreで検索。もしくはggr * GUI(Win) * Tortoise gitがオススメらしいよ * ぐぐってみてね *
9.
*
骋颈迟と蝉耻产惫别谤蝉颈辞苍をつなぐもの
10.
*Subversionにおけるチェックアウト *Gitではgit clone *
リモートブランチをローカルリポジトリにコピー *これをsubversionに対して行える *svn時代の履歴もだいたい引き継げます *
11.
* $ git
svn clone –s リポジトリのURL * -sオプションは—stdlyoutの略 * trunk, tags, branchesをよしなにコンバート *
12.
* $ git
branch –r * リモートブランチ一覧 * trunk:svnのtrunk * $ git branch * ブランチの一覧 * master:基本的に弄るのはこっち *
13.
*
きらめく蝉迟补驳别でまた会える!
14.
* gitにはstageという考え方があります
* 編集した内容すべてをコミットするとは限らない * Stageしたものがコミットされる * コードが皆に行き渡るまで * 編集内容をステージ * ステージをコミット * コミットをプッシュ * 皆がプルしてようやく手元に *
15.
* まずは適当に自分の名前のファイルでも作って * $
git add . * ステージする * $ git commit -m‖メッセージ‖ * ―メッセージ‖を添えてコミットする * この時点ではまだsubversionに影響なし *
16.
* $ git
svn dcommit –n * コミットされる内容の確認 * nはno commitのnです。たぶん * $ git svn dcommit * 実際にコミット * ちなみに * $ git config user.name ―Your Name‖ * $ git config user.email you@email.com * 設定しておくとgitに移行した時に楽 *
17.
* 先に誰かがコミットしてた! * 問題なければもう一回git
svn dcommitでOK * とはいえコンフリクトする時にはする * 出来るうちにsvn update的な事を *
18.
* $ git
svn rebase * $ git svn fetchとgit merge trunkの融合 * ただし編集中のファイルがあるとできない * コミットする * Stashを使ってみる * git stash と git stash pop * Git stash * Git svn rebase * Git stash pop * 預けて、updateして、引き出す *
19.
* 切る、作業する、リベースする
20.
* わりと本題だったり * ブランチ自体はsubversionと大差無し
* しかし気軽さと便利さが違う * チェックアウトとかいくつかの用語が違う * 勘違いしないように、恐れないように * ブランチを作り、履歴の汚れなんか気にせずに コミット、コミット、コミット!! *
21.
* $git checkout
–b test * 今いる場所からtestブランチを作成して移動 * $git checkout –b test master * masterブランチからtestブランチを作成して移動 * $git branch test * 作成するけど移動はしない * タグの場所からも作れる *
22.
* $git branch
–d test * testブランチを削除 * $git branch –D test * testブランチを強制削除 * どこにもマージされてないけど気にしないぜ! *
23.
*
―潜む‖极意ここにあり
24.
* git svn
dcommitで全コミットが伝わる * そのままではsvnのログが??? * しかし自由にコミットしたい * コミットを整理整頓して見通しよくしよう * 他のブランチで作業してmasterにマージ * 歴史を改変しコミットを整理整頓 *
25.
* マスターに戻ってBRANCHをマージ *
$git checkout master * $git merge –no-ff BRANCH * コメントはまとめてもらえないのでまた書く * コメントを大事にしたい * $git merge –squash BRANCH * コミットされないが、コメントをまとめてくれる * 履歴がBRANCHと繋がらないので若干ややこしい * $git commit が必要 *
26.
元の状态
* http://d.hatena.ne.jp/sinsoku/20111025/1319497900 より引用
27.
--蹿蹿(标準の尘别谤驳别)
* http://d.hatena.ne.jp/sinsoku/20111025/1319497900 より引用
28.
--no-ff
* http://d.hatena.ne.jp/sinsoku/20111025/1319497900 より引用
29.
--squash
* http://d.hatena.ne.jp/sinsoku/20111025/1319497900 より引用
30.
* コミットログ *
機能Aを追加 * 機能Bを追加 * あれを修正 * 機能Bを修正 * 機能Aを更新 * 機能Aを更新 * 機能Bのtypoを修正 * かっこわるい!! *
31.
* 新しいコミットログ *
完成された機能Aを追加 * Typoなんてない機能Bを追加 * あれを修正 * このすっきり感が理想 * あとからでもこんな奇麗な履歴にできる。 そう、Gitならね??? *
32.
* git rebase
-i * おそらく私がもっとも多用するコマンド * 大好き。 * コミットを三つの呪文で理想のカタチへ * Edit(e) * Fix(f) * Squash(s) * git rebase –i HEAD^^ * 二つ前まで遡る(^の数に対応) *
33.
*
34.
* git commit
–amendでコメントの書き直し * git add –p でこまかくステージ * git log --graph --branches –oneline * git status *
35.
*
Download