More Related Content
PDF
PDF
PDF
2012/03/31 Apacheスタートスクリプト読書会発表資料 PDF
PDF
Arduino compatible layer (with 6LoWPAN) on Contiki PDF
PDF
PDF
分散バージョン管理システムって何なん 20101218 What's hot
PDF
20220412 IoTLT vol86 kitazaki v1 PDF
Archive: Git 入門(2014/1/10 社内勉強会) ODP
etckeeperをopenSUSEの公式リポジトリに入れたいぞ! Ver.2 PDF
PPT
PDF
PPTX
PDF
Gitを理解するためにおさえておきたい3つの図(工事中) PDF
PPTX
PDF
さくらのクラウドAPIをsacloudつかってさわってみた KEY
PPTX
PDF
PDF
Raspberry Pi + Go で IoT した話 PPTX
OSC・シェルのプロが語る『make を使ったデータ処理。』 【make 教】 - OSC2015 Tokyo/Spring 発表資料 PDF
勉強会向けサーバを作ってみる2 / Rasbian jessieを試す/ Google Authenticatorのパスコードを作る PDF
PPTX
PDF
Similar to JTF 2013
KEY
KEY
PPTX
PPTX
PPTX
PDF
PPTX
今さら聞けない人のためのgit超入門 OSC2018京都 資料 PPTX
PDF
KEY
20120516 第7回ウフィカ社内ハンズオン Git基礎 PPTX
今さら聞けない人のためのGit超入門 GitLab 13対応版 PPTX
今さら聞けない人のためのGit超入門 GitLab 14対応版 PDF
PDF
PPTX
PDF
PPTX
PPTX
PPTX
今さら聞けない人のためのGit超入門 2020/12/19 ODP
JTF 2013
- 1.
- 2.
- 3.
- 4.
- 5.
● Git のワークフロー
● アクティビティとグラフ
● ブランチ
● タイムライン
● まとめ
- 6.
- 7.
- 8.
- 9.
- 10.
- 11.
- 12.
- 13.
● 開発中のメインブランチ develop
●--no-ff でマージして、ブランチで開発されたこ
とという情報を残す
● develop から分岐して作成、使い終わったら
削除される、機能追加のための features ブラ
ンチ
● develop から分岐して作成される製品リリース
のための releases ブランチ
● release ブランチからはリリースのためにした
変更を最後に master と develop にマージさ
れる
● hotfix は develop と master の計画的でない
変更や修正のために作成されるブランチ これ
も最後に master と develop にマージされる
- 14.
- 15.
● master はいつもすぐにデプロイ可能
●新しい作業を始めるときは、説明的な名前でブランチをmaster から作成する
● ローカル上で作成したブランチにコミットし、サーバーの同じ名前のブランチへも
作業内容を 定期的に push する
● フィードバックや助言が欲しい時、ブランチをマージしてほしいと思ったときは、
Pull Request を作成する
● 他の誰かがレビューをして機能に OK を出してくれたら、コードをmasterへマー
ジすることができる
● マージして maste rへ push したらデプロイする
github / github-services
- 16.
- 17.
- 18.
- 19.
- 20.
- 21.
- 22.
- 23.
- 24.
- 25.
- 26.
% cat ~/.zshrc
###commands - experiment {{{
function stats-branch() {
local branch remote ahead behind
if [[ -n $1 ]]; then
remote=$1
else
remote="upstrm"
fi
git for-each-ref --format="%(refname:short)" refs/heads refs/remotes |
while read branch
do
ahead=`git rev-list remotes/"${remote}"/master..${branch} --count 2>/dev/null`
behind=`git rev-list ${branch}..remotes/"${remote}"/master --count 2>/dev/null`
printf "%-30s %16s | %-15s %sn" "$branch" "(behind $behind)" "(ahead $ahead)"
"remotes/${remote}/master"
done
}
# }}}
- 27.
% stats-branch origin
master(behind 0) | (ahead 1) remotes/origin/master
stumpish-notifier (behind 0) | (ahead 1) remotes/origin/master
origin/HEAD (behind 0) | (ahead 0) remotes/origin/master
origin/master (behind 0) | (ahead 0) remotes/origin/master
origin/stumpish-notifier (behind 0) | (ahead 1) remotes/origin/master
origin/v2.0 (behind 16) | (ahead 1) remotes/origin/master
origin/v2.0_refactorings (behind 16) | (ahead 35) remotes/origin/master
upstrm/gh-pages (behind 1519) | (ahead 3) remotes/origin/master
upstrm/master (behind 0) | (ahead 5) remotes/origin/master
upstrm/v2.0 (behind 16) | (ahead 1) remotes/origin/master
upstrm/v2.0_refactorings (behind 16) | (ahead 46) remotes/origin/master
- 28.
% cat ~/.gitconfig
...
[alias]
...
ls-branch= "!(for i in `git branch -a | colrm 1 2 | awk '{print $1}'` ; do echo `git log --date=iso8601 -n
1 --pretty='format:[%ai] %h' $i` $i ; done) | sort -r "
% git ls-branch
[2013-06-17 11:33:59 +0200] 67be380 remotes/upstrm/master
[2013-06-14 08:10:03 -0700] b99ccc2 remotes/upstrm/v2.0_refactorings
[2013-06-10 14:12:26 +0200] 1aa6fdf remotes/upstrm/gh-pages
[2013-06-06 16:12:40 +0900] 48566d4 stumpish-notifier
[2013-06-06 16:12:40 +0900] 48566d4 remotes/origin/stumpish-notifier
[2013-06-06 16:12:40 +0900] 48566d4 master
[2013-05-31 00:13:17 -0700] 6363368 remotes/origin/master
[2013-05-31 00:13:17 -0700] 6363368 remotes/origin/HEAD
[2013-05-22 01:27:14 +0200] fdbb652 remotes/origin/v2.0_refactorings
[2013-04-20 22:54:57 +0200] 31a4956 remotes/upstrm/v2.0
[2013-04-20 22:54:57 +0200] 31a4956 remotes/origin/v2.0
- 29.
- 30.
- 31.
- 32.
- 33.
- 34.
% cat client.rb
require"drip"
user,action,target,name,date = ARGV
MyDrip = DRbObject.new_with_uri("druby://localhost:54321")
MyDrip.write([action, target, name, date], user)
% cat server.rb
require 'drip'
require 'drb'
drip = Drip.new(".drb")
DRb.start_service("druby://localhost:54321", drip)
DRb.thread.join
% git clone https://github.com/grauwoelfchen/timeline.git
- 35.
% pry
[1] pry(main)>require 'drb'
=> true
[2] pry(main)> MyDrip = DRbObject.new_with_uri("druby://localhost:54321")
=> #<DRb::DRbObject:0x000000026b3008 @ref=nil, @uri="druby://localhost:54321">
[3] pry(main)> MyDrip.read(0, 2) #=> Queue 構造になっていて `head` メソッドも便利 ;)
=> [[1373569317719130,
["create",
"branch",
"master",
"e64c41f63586a0020552dc0ba07a1d25f1e309b9",
"timeline.git",
"Fri Jul 12 04:01:57 JST 2013"],
"yasuhiro"],
[1373569650654906,
["create",
"branch",
"create-server-script",
"ecd0afee973ce623b873e0a31b6988d69d50bcb9",
"timeline.git",
"Fri Jul 12 04:07:30 JST 2013"],
"yasuhiro"]]
- 36.