Recommended
PDF
PDF
PDF
gitを使って、レポジトリの一部抽出forkしてみました
PDF
ホームディレクトリに埋もれた便利なコードをさがせ!
PDF
大容量ファイルもGitで管理。 Git LFSの使い方
PPTX
node-gypを使ったネイティブモジュールの作成
PDF
2015.04.19 WordBench 埼玉 Git & WordPress
PPT
PDF
WordPress サイト制作におけるデプロイメントを考える ~Git とデプロイメントサービスの活用~
PDF
KEY
PDF
PDF
PDF
もしWordPressユーザーがGitを使ったら 〜WordPressテーマを共同編集しよう〜
PDF
WindowsでGitを使う際のベストプラクティス
PDF
KEY
PPTX
やさしいGitの内部構造 - yapcasia2013
PDF
Github codespaces すごく良い。もうこれで 十分なんじゃという話
PDF
2020/06/16 tsjp-azure-staticwebapps-vs_codespaces
PDF
PDF
Open Build Service で deb パッケージをビルドしてみた
PDF
GitLab Meetup Tokyo #1 LT:「わりと大きい会社でGitLabをホスティングしてみた話」
PDF
PDF
PDF
PDF
PDF
PDF
Swift の可変値と不変値 〜 前回の続き(おまけ)〜 #cocoa_kansai
PDF
More Related Content
PDF
PDF
PDF
gitを使って、レポジトリの一部抽出forkしてみました
PDF
ホームディレクトリに埋もれた便利なコードをさがせ!
PDF
大容量ファイルもGitで管理。 Git LFSの使い方
PPTX
node-gypを使ったネイティブモジュールの作成
PDF
2015.04.19 WordBench 埼玉 Git & WordPress
PPT
What's hot
PDF
WordPress サイト制作におけるデプロイメントを考える ~Git とデプロイメントサービスの活用~
PDF
KEY
PDF
PDF
PDF
もしWordPressユーザーがGitを使ったら 〜WordPressテーマを共同編集しよう〜
PDF
WindowsでGitを使う際のベストプラクティス
PDF
KEY
PPTX
やさしいGitの内部構造 - yapcasia2013
PDF
Github codespaces すごく良い。もうこれで 十分なんじゃという話
PDF
2020/06/16 tsjp-azure-staticwebapps-vs_codespaces
PDF
PDF
Open Build Service で deb パッケージをビルドしてみた
PDF
GitLab Meetup Tokyo #1 LT:「わりと大きい会社でGitLabをホスティングしてみた話」
PDF
PDF
PDF
PDF
PDF
Viewers also liked
PDF
Swift の可変値と不変値 〜 前回の続き(おまけ)〜 #cocoa_kansai
PDF
PPT
PDF
PPT
τι υπάρχει πίσω από την κουρτίνα;
ODP
PDF
DOCX
PPTX
โครงการก่อสร้างงานภูมิทัศน์ สวนเทิดพระเกียรติ ราชพฤกษ์ จังหวัดเชียงใหม่
PDF
PDF
PPTX
PPTX
PPTX
Universal Private Banking
DOCX
PDF
Effectively using LinkedIn
PDF
PPT
Acuerdos por la excelncia institucion educativa el hobo
DOC
PPTX
Similar to Git勉強会
PDF
KEY
PDF
PDF
Python for Data Analysis第1回勉強会(+git入門)
PPT
PDF
Gitを理解するためにおさえておきたい3つの図(工事中)
PDF
PDF
PPTX
PPTX
PDF
KEY
PDF
Git勉強会 2016 Gitで卒論を管理しよう回
PPTX
KEY
PDF
Version Control System Tutorial バージョン管理システムチュートリアル
PDF
PDF
KEY
PPTX
今さら聞けない人のためのGit超入門 OSC2018広島版
Recently uploaded
PDF
音楽アーティスト探索体験に特化した音楽ディスカバリーWebサービス「DigLoop」|Created byヨハク技研
PPTX
君をむしばむこの力で_最終発表-1-Monthon2025最終発表用資料-.pptx
PDF
krsk_aws_re-growth_aws_devops_agent_20251211
PDF
ソフトとハードの二刀流で実現する先進安全・自動運転のアルゴリズム開発【DENSO Tech Night 第二夜】 ー高精度な画像解析 / AI推論モデル ...
PDF
2025/12/12 AutoDevNinjaピッチ資料 - 大人な男のAuto Dev環境
PDF
ソフトウェアエンジニアがクルマのコアを創る!? モビリティの価値を最大化するソフトウェア開発の最前線【DENSO Tech Night 第一夜】
Git勉強会 1. 2. 3. 4. Gitとは
• バージョン管理システム
o ファイルとその変更履歴などを管理する
• ソフトウェアのソースコード
• データベース定義
• 環境構築用設定ファイルなどなど
• 他のバージョン管理システムと違う点
o 分散型バージョン管理
o CVS, SVNは集中型バージョン管理システム
5. 6. 7. 結局何が違うんすか
集中型分散型
• 一本の履歴ツリーで複数
の更新を一括管理
→ぱっと見で分かり易い
• 小規模開発・単発開発
に向いている?
o リリースバージョン管理が面倒
• 全作業がネット接続必須
• 履歴ツリーを分ける事で
複数の更新を平行管理
→ 使いこなすと便利
• 大規模開発・継続開発
に向いている?
o リリースバージョンなどの管理に
優れている
• ネットに接続せず作業可
8. 9. Gitの用語説明
• リポジトリ
o データを保存する場所
リモートリポジトリ・ローカルリポジトリ
• コミット
o ローカルリポジトリに変更を保存
• クローン
o リモートリポジトリのファイルを複製
• プル
o 他のリポジトリの更新情報をローカルリポジトリに適用
• プッシュ
o ローカルリポジトリからリモートリポジトリに変更を適用
• ブランチ・マージ→ 後述
10. 11. ブランチ実例
• 「master」ブランチ
o 本番リリース用
• 「beta」ブランチ
o ベータテスト用(社内検証用)
• 「develop」ブランチ
o 開発用
• 「package-master」ブランチ
o パッケージ販売用
http://www.atmarkit.co.jp/ait/articles/1305/20/news015_3.html
12. マージ
• 複数の改修内容を一つのブランチに適用
o 開発用ブランチの機能をリリースブランチに
o ベータテスト用ブランチを開発用ブランチに
o 使い方いろいろ
• Gitはこの動作がとにかく速い!
→ ソースの衝突に強く、大規模開発向き
• ブランチ、マージこそが分散型バージョン管理の強み
13. 他にGitの強みって?
• 他サービスとの連携
o プッシュ時にフックという機能でスクリプト実行が可能
→ Jenkinsで自動ビルド、自動テスト
• GitHub
o Gitのリポジトリをホスティングするサービス
o プルリクエストのメッセージのやり取り
14. 15. よくある間違い?
• フォーク・プルリクエスト
o Gitの機能じゃなくてGitHubの機能
• Gitはアカウント登録じゃなく、ユーザー情報の設定
$ git config --global user.name ”oyamatsu"
$ git config --global user.email oyamatsu@hoge.com
• GitHubはWebサービスなのでアカウント登録
16. 17. 18. 19. 20. 21. READMEを書き換えよう
• cloneに成功したらRepositoryName ディレクトリが追
加されているのでREADME.md を書き換え
• サーバに上げるためには
$ git add README.md
# コミット対象ファイルを追加
$ git commit README.md -m “updateREADME”
# ローカルリポジトリ内でコミット
# まだリモートリポジトリは書き換わらない
$ git push
# リモートリポジトリに反映
o → GitHub上の表示が変わる!
22. 上がらないパターン
• 複数人で同じファイルを編集すると
先の方法だけではリモートリポジトリに上がらない
• 他の人の修正を取得
$ git pull
o 自動で複数の修正が反映されるパターン
→ 自動マージパターンと呼称
o 修正箇所が被って失敗するパターン
→ コンフリクトパターンと呼称
23. 自動マージパターン
• $ git pull で修正が取得出来ている
pull の中身は、
o $ git fetch
#リモートリポジトリの最新情報を取得
o $ git merge origin/master
# fetchした情報とローカルリポジトリの情報をあわせる
なので、1コマンドでマージまで可能
• $ git push を叩けばリモートリポジトリに上がる
24. コンフリクトパターン
• Aさんの修正
# Hello, my Git world!
• Bさんの修正
# Hello, our Git world!
• pull をかけると衝突した修正箇所が
README.mdに追加されている
<<<<<<< HEAD
# Hello, our Git world!
=======
# Hello, my Git world!
>>>>>>> 4fdceeb66529b3fbfda…
自分の修正
他の人の修正
←コミットID
25. コンフリクトパターン
• 正しい形に修正
o 赤いところは消してOK
• 消してプッシュ作業
o git commit –a
# -aオプションを指定すると、編集したファイル全てをコミット対象とする
o git pull
# 念のためpull
o git push →
<<<<<<< HEAD
# Hello, our Git world!
=======
# Hello, my Git world!
>>>>>>> 4fdceeb66529b3fbfda…
26. 27. developにファイルを追加
$ git checkout develop # ブランチを切り替え
Switched to branch 'develop’
# ファイルを追加してプッシュ
$ vi new_README.md
$ git add new_README.md
$ git commit –m “add new_README”
$ git push
• pushしても「develop」ブランチしか変更されない
28. 一方その頃masterは
• 「develop」ブランチ
$ git checkout develop
Switched to branch 'develop’
$ ls
README.md new_README.md
• 「master」ブランチ
$ git checkout master
Switched to branch 'master’
$ ls
README.md
• 「develop」の変更は「master」には影響無し
29. 30. その他コマンド
• リポジトリの作成およびメンテナンスに利用するコマンド
o git init リポジトリを作成する
o git clone 既存のリポジトリの複製を作る
o git fsck リポジトリの正当性チェックを行う
o git gc リポジトリ内の不要なオブジェクトを削除し、最適化を行う
• 作業ツリーやブランチを操作・管理するコマンド
o git status 変更が加えられたファイルを表示する
o git diff ファイルに加えられた変更点をdiff形式で表示する
o git add コミットするファイルを指定する
o git commit 変更点をコミットする
o git log コミットログを閲覧する
o git reset 直前のコミットを取り消す
o git revert 作業ツリーを指定したコミット時点の状態にまで戻す
o git branch ブランチ情報の表示およびブランチの作成
o git checkout ブランチの切り替え
o git show-branch ブランチの作成/変更/マージ履歴を表示
o git merge ローカルブランチのマージを行う
o git tag コミットにタグを付ける
o git stash 現在の作業ツリーの状態を一時的に保管する
o git rebase ブランチの派生元(上流)を変更する
• ほかのリポジトリとの連携を行うコマンド
o git pull ほかのリポジトリの変更点をローカルリポジトリにマージする
o git push 公開リポジトリに自分のリポジトリの内容を送信する
http://sourceforge.jp/magazine/09/03/16/0831212
31.