Recommended
PPTX
PPTX
PDF
PDF
新人Git/Github研修公開用スライド(その2)
PDF
PPTX
Git & GitHub を使いこなしてハッピーになろう! - WordBench 名古屋 & concrete5 名古屋 合同勉強会
PDF
PDF
PDF
医療データ解析者へ向けた Git・GitHub 入門
PPTX
PPTX
PDF
PDF
PDF
PPTX
PDF
新人Git/Github研修公開用スライド(その1)
PDF
Archive: Git 入門(2014/1/10 社内勉強会)
PDF
PDF
PPTX
PDF
PDF
KEY
PDF
最近のTUI(Terminal-based User Interface)事情
PDF
PDF
わしわし的おすすめ .gitconfig 設定 (と見せかけて実はみんなのおすすめ .gitconfig 設定を教えてもらう魂胆) #広島Git 勉強会
PPTX
KEY
PPTX
PPTX
More Related Content
PPTX
PPTX
PDF
PDF
新人Git/Github研修公開用スライド(その2)
PDF
PPTX
Git & GitHub を使いこなしてハッピーになろう! - WordBench 名古屋 & concrete5 名古屋 合同勉強会
PDF
PDF
What's hot
PDF
医療データ解析者へ向けた Git・GitHub 入門
PPTX
PPTX
PDF
PDF
PDF
PPTX
PDF
新人Git/Github研修公開用スライド(その1)
PDF
Archive: Git 入門(2014/1/10 社内勉強会)
PDF
PDF
PPTX
PDF
PDF
KEY
PDF
最近のTUI(Terminal-based User Interface)事情
PDF
PDF
わしわし的おすすめ .gitconfig 設定 (と見せかけて実はみんなのおすすめ .gitconfig 設定を教えてもらう魂胆) #広島Git 勉強会
PPTX
KEY
Similar to Git講習会
PPTX
PPTX
PDF
Python for Data Analysis第1回勉強会(+git入門)
PPTX
PPT
PDF
PDF
PPTX
PDF
PDF
KEY
PDF
KEY
PPTX
PPTX
PPT
PDF
PDF
Git勉強会 2016 Gitで卒論を管理しよう回
PDF
PDF
More from galluda
PPTX
PPTX
PPTX
Webデザイナーのためのphp wordpress
PPTX
PPTX
PPTX
PPTX
PPTX
PPT
Git講習会 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 質問
「Aさんが修正した」修正→
どこに消えた???
現在のサーバのソース↓
これがデグレードです
絶対厳禁!!
//大本の記述1
大本の記述1-A
ソースコード管理サーバ:とあるファイル
大本の記述1
//大本の記述2
大本の記述2-B
大本の記述3
13. 14. バージョン管理システムの簡単な歴史
SCCS(Source Code Control System)
世界初のバージョン管理システム。1972年に出来た。
RCS(Revision Control System)
1982年に作られたバージョン管理システム。ファイル単位で管理を
行い、軽い。
CVS(Concurrent Versions System)
1990年に作られた。当初はRCSをベースにしていたらしい。(RCS
やSCCSと異なり)「ネットワーク越し」に使えるシステムだったので、
一時期、割とよく使われていた。
SVN(Subversion / Apache Subversion)
2000年に作られた。のちに(2009年)にApacheプロジェクトに入った
ので、名前の頭にApacheがつくようになる。
CVSでいくつかある難点を補うために作られた。会社等によっては
今でも現役。
15. VSS(Visual SourceSafe / Microsoft Visual
SourceSafe)
2005年作成。Microsoft Visual Studioによるアプリケーション
開発において使用することに主眼をおいたバージョン管理シ
ステム。
現在はサポートが終了しており、TFS(Team Foundation
Server)が後続になっている
Mercurial
2005年作成。Gitと一時期、覇を競っていた時期がある。現状
でもGitとMercurialは「互いの機能を取り入れつつ開発が進
んでいる」。ただし、Gitよりはマイナー。
16. 17. 18. 19. 20. 21. 22. GitHubを使う事によって
多人数でも開発が出来る
GitHubの場合「ほかの人にソースを見てもらう事ができる/提
供できる」
なお、単純に「Gitのみ」で開発をしたり(それでも「多人数
で開発が出来る」というメリットは享受できる)、GitHubと
似たような機能を持つOSS(GitLabなど)もあるので、興
味があったら色々と調べてみましょう!!
23. OSSについて少し
Open-source software / オープンソースソフトウェア
ソフトウェアを、学習、変更、そして配布するための権利
を提供するというライセンスに基づいたソフトウェア
端的には、Linuxがそうで、Gitがそうで、様々なOSSを
我々は使っている
GitHubを使うと「ソフトウェアを配布する」ための環境が、
(ライセンスによっては)無料で手に入る
24. 25. 38. https://GitHub.com/
[Sign up]をclick
Username、Email Address、Passwordを入力:Usenameは
重複不可。なので「すでに使われている」アカウントの場合、
「Username is already taken」と出る
[Create an account]をclick
Choose your plan
[Unlimited public repositories for free.]を選択(有料でも止
めはしないけど、"後で変更"出来るので、一端は無料でよい
でしょう)
[Continue]をClick
39. アンケートへの入力はお好みで。
下に[skip this step]があるので、skipしてもよし。
登録したメールアドレスを確認する。
Gitからmailが来ているはずなので、メールの中にあるリ
ンク(Verify email address)をclickして、メールアドレスの
認証を終了させる。
[Start a project]のボタンを押すとレポジトリの作成画面
になる。
一端作成せず、ここまでで「GitHubのアカウント登録」の
完了。
40. 41. 42. 準備
レポジトリ用のディレクトリの準備
コマンドプロンプト(cmd.exe)を立ち上げます
cd C:
mkdir git_work
cd git_work
(エクスプローラでやってもよいですが、後でコマンドプロンプト
は使います)
もし「サブディレクトリまたはファイル git_work は既に存在し
ます。」というエラーが出た場合は
rmdir /S git_work
で削除してから上述を実行してください。
エクスプローラでも同じディレクトリ(C:git_work)を開い
ておいてください
エクスプローラ設定「隠しファイルの表示」「拡張子の表示」
43. 「新しいレポジトリ」を作成、ファイルを1つ
コマンドプロンプトで以下を打ち込みます
git init
[エクスプローラでテキストファイルを作成: README.txt]
[README.txtを修正] test1
git add README.txt
git config --local user.name "自分の名前"
localの前のハイフンは「二つ」なので注意
お仕事等だと「 --global」が多いが、今回は共有PCなので、localで
スペースが必要なので注意!!
git config --local user.email "自分のメールアドレス"
git commit -a -m "first commit"
44. git init
「新しいレポジトリ」を作成します
git add
指定したファイルを「gitの管理対象」にします
git config
色々な設定をします。今回は「自分の名前」と「連絡先」を登録
しました(後で出てきます)
git commit
変更をgitに登録します
45. 46. git log
gitの変更履歴を表示します。様々なオプションがあります
前Pageで出てきたオプションは、全部「ハイフン2つ」です
47. 48. git diff
「最後にcommitした」後、どこに変更があったかを教えてくれ
ます
実際にはそれ以外にも「色々な"2点"の比較」が出来ます
49. 50. 51. 52. 53. 55. git remote add origin https://github.com/XX/test.git
git push -u origin master
ブラウザをリロードして「GitHubにソースコードが上がっ
ている事」の確認
56. git remote add origin https://github.com/XX/test.git
「origin」という名前に「 https://github.com/XX/test.git 」のリ
モートレポジトリを紐づける、という意味合い(下で使う)
git push -u origin master
"git push [リモートリポジトリ] [ローカルのブランチ名]:[リ
モートのブランチ名]"が、正式
git push https://github.com/XX/test.git master:master
git push origin master:master
git push origin master
-uは「一端、あまり気にしない」
57. 58. 59. 60. cd C:
mkdir git_work2
cd git_work2
git clone https://github.com/[アカウント名]/test.git
コンソールから「cd test」
または
エクスプローラで「C:git_work2test」
で、ファイルの存在を確認する
git config --local user.name "自分の名前(別名で)"
git config --local user.email "自分のメールアドレス(連
絡先)"
61. 62. 63. git pull
"git pull [リモートリポジトリ] [リモートのブランチ名]"が、正
式
git pull https://github.com/XX/test.git master
git pull origin master
git pull
64. 65. 66. 67. 68. 69. # 作業用ブランチを切って移動する
# git branch ブランチ名
# git checkout ブランチ名
git checkout -b ブランチ名
# 移動できたことを確認
git branch
# 修正等作業:作業完了してmergeできるところまでもっ
てこれた
git commit -a
70. ブランチ:「リモートにアップしてpull
request等をする」流れの場合
# リモートにアップする
git push origin ブランチ名
# レビュー等をしてもらう
(mergeはおそらく「レビューをしてくれた人」がしてくれる)
# merge後、リモートのブランチを削除する(ブランチ名の前
に:を付けると「削除」の意味)(削除してくれている、かも)
git push origin :ブランチ名
# localのブランチを削除する
git branch -d ブランチ名
git branch
終了
71. 72. # local masterの内容をリモートに反映する
git push origin master
# localのブランチを削除する
git branch -d ブランチ名
git branch
終了
73. 74. 新しい機能の開発や修正、緊急のバグフィックス対応
masterから新しいブランチを作成する
git checkout -b ブランチ名
新しいブランチ上で追加や修正の作業を行う
リモートのブランチに、定期的にpushをしておく事が推奨されている
Pull Request、merge を行う
Pull Request → masterへmerge
masterに入ったものは、いつdeployされてもよい、とみなす
定期的、或いは即時、といったdeployタイミングが多いと思います
75. 付録:様々な開発方法の一例/ Git flow
使用するブランチ
master:リリースするためのブランチ。リリース後、タグを切る
develop: 開発ブランチ。開発する時の元ネタ
featuresブランチ群: 実際に作業をしているブランチ群
hotfixesブランチ群:リリース後の「クリティカルなバグ」などに
対応するためのブランチ群
releases ブランチ群: リリースの準備用のブランチ群
下準備
masterブランチを用意します
masterブランチからdevelopブランチを作成します
76. 77. リリース(deploy)準備
developブランチからreleaseブランチを作成
"release/リリース名"という命名が多いです
必要であれば、 releaseブランチに修正を加えます
リリースの準備が完了したら、以下の作業を行います
releaseブランチをmasterにmergeして、pushします
masterブランチにリリース用のタグをつけます(こちらもpush)
releaseブランチの内容をdevelopブランチにmergeして、pushしま
す
releaseブランチを削除します
masterブランチの内容をリリース(deploy)します
78. 緊急のバグフィックス対応
masterブランチからhotfixeブランチを作成
"hotfixe/ホットフィックス名"という命名が多いです
修正が終わったら、以下の作業をします
hotfixeブランチをmasterにmergeします
masterブランチに「緊急対応した」旨のタグをつけます
hotfixeブランチをdevelopにmergeします
hotfixeブランチを削除します
masterブランチの内容をリリース(deploy)します