SlideShare una empresa de Scribd logo
1 de 22
Descargar para leer sin conexión
Git/GitHub 入門
Yoshiki Tanaka
1
Git/GitHubでできること
バージョン管理 共同開発
次のスライドで説明します!
2
バージョン管理とは
⇨ 変更履歴を管理すること
必要なファイルを
消してしまった...
以前のソース
コードまで戻りた
い...
Git/GitHubで改善!
3
共同開発とは
⇨ チームを組んで開発すること
効率良くチームで
開発したい...
ソースコードを共
有したい...
4
Git/GitHubで改善!
Git/GitHubの概念を理解する
Git ⇨ バージョン管理を行うシステムのこと
GitHub ⇨ クラウド上でGitを用いたバージョン管理を
共有ことができるサービスのこと
5
リポジトリの概念を理解する
リポジトリ ⇨ バージョン管理のための貯蔵庫
(バージョンごとにソースコードを保存する場所)
バージョン1.0.1
バージョン1.0.2
ローカルリポジトリ
⇨ 自分のPCにあるリポジトリ
リモートリポジトリ
⇨ 自分のPCに無いリポジトリ
6
Git/GitHubとリポジトリの全体図
開発者A
リモートリポジトリ
(ソースコードを共有する場所)
ローカルリポジトリ
(ソースコードを変更する場所)
開発者B
ローカルリポジトリ
7
Gitコマンドの設定
$ git config - -global user.name “<name>” コミットに付加される名前を設定する
$ git config - -global user.email “<email>” コミットに付加されるメールアドレスを設定す
る
$ git config - -global.color.ui auto コマンドラインの出力を見やすくするための色
を設定する
8
リポジトリの設定
$ git init <project-name> 指定した名前でローカルリポジトリを作成
する
$ remote add <name> <url> リモートリポジトリの設定を指定した名前で
追加する
$ git remote rename <old-name> <new-name> リモートリポジトリの設定を <old-name> か
ら<new-name>に変更する
$ git clone <url> 指定したURLのリポジトリをローカルリポ
ジトリとして複製する
9
Git/GitHubとリポジトリの全体図
開発者A
リモートリポジトリ
(ソースコードを共有する場所)
ローカルリポジトリ
(ソースコードを変更する場所)
開発者B
ローカルリポジトリ
10
次のスライドでこの部分を説明します!
リモートリポジトリからバージョンを反映する
ワークツリー
(作業現場)
リモートリポジトリ
git pull
11
プルの操作
$ git fetch <remote> リモートリポジトリから全てのブランチの更
新履歴をリモート追跡ブランチに取り込む
$ git merge <remote track branch> <branch> リモート追跡ブランチを指定のブランチに統
合する
$ git pull <remote repository> リモートブランチの更新履歴をリモートお追
跡ブランチに取り込み、リモート追跡ブラン
チを現在のブランチにマージする
12
Git/GitHubとリポジトリの全体図
開発者A
リモートリポジトリ
(ソースコードを共有する場所)
ローカルリポジトリ
(ソースコードを変更する場所)
開発者B
ローカルリポジトリ
13
次のスライドでこの部分を説明します!
ローカル/リモートリポジトリに変更を加える
ワークツリー
(作業現場)
インデックス/
ステージング
(待機室)
ローカルリポジトリ
リモートリポジトリ
git add
git commit
git push
14
⇨ファイルごと
⇨部分機能ごと
⇨全体機能ごと
コミットまでの操作
$ git status リポジトリの状態とステージングエリアの状態を確認する
$ git add <file> ワーキングディレクトリの変更をステージングエリアに追加する
$ git add - -all ワーキングディレクトリの全てのヘンクオをステージングエリアに
追加する
$ git reset <file> ファイルをステージングエリアから外すが、その内容は保持したま
まにする
$ git diff ワーキングディレクトリとステージングエリアの差分を表示する
$ git commit -m “<title>” ステージングされた変更をコミット
$ git commit - -amend 直前のコミットを新しいコミットで置き換える
15
プッシュの操作
$ git push リモートリポジトリが .git.configに指定されてい
る場合、現在のブランチのリモートの履歴を更
新する
$ git push <remote repository> <refspec> <refspec>として指定した名前をローカルリポジ
トリから探し、指定したリモートリポジトリの同名
の参照を更新する(ブランチ名を指定した場合
は、ブランチ名を含む参照をローカルリポジトリ
から検索し、リモートリポジトリの同名の参照を
更新する)
16
一時的な変更の記録
$ git stash 変更を監視されているファイルの変更の状態
とステージングエリアの状態を保存し、 HEAD
の状態までクリーンに戻す
$ git stash list 一時保存された記録(スタッシュ)を一覧で表
示する
$ git stash pop 直近に一時保存された記録(スタッシュ)か
ら、記録内容をワーキングディレクトリに反映
する
$ git stash drop 直近に一時保存された記録(スタッシュ)を破
棄する
17
コミット履歴の確認と修正
$ git log 現在のブランチのバージョン履歴を一覧で表
示する
$ git revert <commit> 指定コミットによって加えられた変更を元に戻
す新しいコミットを生成し、適用する
$ git reset <commit> 現在のブランチのHEADを指定コミットまで移
動し、ステージングされた内容をクリアし、
ワーキングディレクトリの変更状態を保つ
$ git reset - -hard <commit> 現在のブランチのHEADをしてコミットまで移
動し、ステージングエリアとワーキングディレ
クトリの状態をクリアする
18
ブランチの概念を理解する
ブランチ ⇨ ワークツリー内でバージョンを分岐させて開発でき
る機能
バージョンA バージョンA
バージョンC
19
バージョンB
ブランチの操作一覧
$ git branch リポジトリ上のローカルブランチを一覧で表示
する
$ git branch <branch-name> 新規ブランチを作成
$ git checkout <branch-name> 指定したブランチに切り替え、ワーキングディ
レクトリを更新する
$ git merge <branch> 指定したブランチの履歴を現在のブランチに
統合する
$ git branch -d <branch-name> 指定したローカルブランチを削除
$ git branch -m <branch-name> 現在のブランチの名前を <branch-name>に
変更する
20
実践
【Mac】Gitの環境構築をしよう!
https://prog-8.com/docs/git-env
【Windows】Gitの環境構築をしよう!
https://prog-8.com/docs/git-env-win
⇨ 以下のサイトを修了しよう!
21
参考文献
● 「GitHub実践入門」著者:大塚弘記
● 「エンジニアのためのGitの教科書: 実践で使える!バージョン管理とチーム開発手
法」著者:河村聖悟、 太田智彬、 増田佳太
● 「いまさら聞けないGitとGitHubの違いって何?」
https://www.i3design.jp/in-pocket/3111
● Gitコマンドまとめ
https://drive.google.com/drive/folders/1y9wHbY4v-_HH4ffX-2eYWE9qI42z20
ao?usp=sharing
22

Más contenido relacionado

La actualidad más candente

いつやるの?Git入門 v1.1.0
いつやるの?Git入門 v1.1.0いつやるの?Git入門 v1.1.0
いつやるの?Git入門 v1.1.0Masakazu Matsushita
 
やりなおせる Git 入門
やりなおせる Git 入門やりなおせる Git 入門
やりなおせる Git 入門Tomohiko Himura
 
目grep入門 +解説
目grep入門 +解説目grep入門 +解説
目grep入門 +解説murachue
 
こわくない Git
こわくない Gitこわくない Git
こわくない GitKota Saito
 
テスト文字列に「うんこ」と入れるな
テスト文字列に「うんこ」と入れるなテスト文字列に「うんこ」と入れるな
テスト文字列に「うんこ」と入れるなKentaro Matsui
 
はじめてのGit forデザイナー&コーダー
はじめてのGit forデザイナー&コーダーはじめてのGit forデザイナー&コーダー
はじめてのGit forデザイナー&コーダーSaeko Yamamoto
 
Gitを使ってみよう
Gitを使ってみようGitを使ってみよう
Gitを使ってみようTamotsu Furuya
 
世界一わかりやすいClean Architecture
世界一わかりやすいClean Architecture世界一わかりやすいClean Architecture
世界一わかりやすいClean ArchitectureAtsushi Nakamura
 
プログラミング勉強会「オトナのGit入門」
プログラミング勉強会「オトナのGit入門」プログラミング勉強会「オトナのGit入門」
プログラミング勉強会「オトナのGit入門」Yoshinori Yamanouchi
 
はじめようGit
はじめようGitはじめようGit
はじめようGittechscore
 
オブジェクト指向できていますか?
オブジェクト指向できていますか?オブジェクト指向できていますか?
オブジェクト指向できていますか?Moriharu Ohzu
 
僕がつくった 70個のうちの48個のWebサービス達
僕がつくった 70個のうちの48個のWebサービス達僕がつくった 70個のうちの48個のWebサービス達
僕がつくった 70個のうちの48個のWebサービス達Yusuke Wada
 
このPHP QAツールがすごい!2019
このPHP QAツールがすごい!2019 このPHP QAツールがすごい!2019
このPHP QAツールがすごい!2019 sasezaki
 
Surveyから始まる研究者への道 - Stand on the shoulders of giants -
Surveyから始まる研究者への道 - Stand on the shoulders of giants -Surveyから始まる研究者への道 - Stand on the shoulders of giants -
Surveyから始まる研究者への道 - Stand on the shoulders of giants -諒介 荒木
 
Flutter移行の苦労と、乗り越えた先に得られたもの
Flutter移行の苦労と、乗り越えた先に得られたものFlutter移行の苦労と、乗り越えた先に得られたもの
Flutter移行の苦労と、乗り越えた先に得られたものRecruit Lifestyle Co., Ltd.
 
フロー効率性とリソース効率性について #xpjug
フロー効率性とリソース効率性について #xpjugフロー効率性とリソース効率性について #xpjug
フロー効率性とリソース効率性について #xpjugItsuki Kuroda
 

La actualidad más candente (20)

いつやるの?Git入門 v1.1.0
いつやるの?Git入門 v1.1.0いつやるの?Git入門 v1.1.0
いつやるの?Git入門 v1.1.0
 
やりなおせる Git 入門
やりなおせる Git 入門やりなおせる Git 入門
やりなおせる Git 入門
 
目grep入門 +解説
目grep入門 +解説目grep入門 +解説
目grep入門 +解説
 
こわくない Git
こわくない Gitこわくない Git
こわくない Git
 
テスト文字列に「うんこ」と入れるな
テスト文字列に「うんこ」と入れるなテスト文字列に「うんこ」と入れるな
テスト文字列に「うんこ」と入れるな
 
はじめてのGit forデザイナー&コーダー
はじめてのGit forデザイナー&コーダーはじめてのGit forデザイナー&コーダー
はじめてのGit forデザイナー&コーダー
 
Gitを使ってみよう
Gitを使ってみようGitを使ってみよう
Gitを使ってみよう
 
世界一わかりやすいClean Architecture
世界一わかりやすいClean Architecture世界一わかりやすいClean Architecture
世界一わかりやすいClean Architecture
 
プログラミング勉強会「オトナのGit入門」
プログラミング勉強会「オトナのGit入門」プログラミング勉強会「オトナのGit入門」
プログラミング勉強会「オトナのGit入門」
 
はじめようGit
はじめようGitはじめようGit
はじめようGit
 
入門 シェル実装
入門 シェル実装入門 シェル実装
入門 シェル実装
 
オブジェクト指向できていますか?
オブジェクト指向できていますか?オブジェクト指向できていますか?
オブジェクト指向できていますか?
 
僕がつくった 70個のうちの48個のWebサービス達
僕がつくった 70個のうちの48個のWebサービス達僕がつくった 70個のうちの48個のWebサービス達
僕がつくった 70個のうちの48個のWebサービス達
 
このPHP QAツールがすごい!2019
このPHP QAツールがすごい!2019 このPHP QAツールがすごい!2019
このPHP QAツールがすごい!2019
 
Oss貢献超入門
Oss貢献超入門Oss貢献超入門
Oss貢献超入門
 
Surveyから始まる研究者への道 - Stand on the shoulders of giants -
Surveyから始まる研究者への道 - Stand on the shoulders of giants -Surveyから始まる研究者への道 - Stand on the shoulders of giants -
Surveyから始まる研究者への道 - Stand on the shoulders of giants -
 
Raft
RaftRaft
Raft
 
Flutter移行の苦労と、乗り越えた先に得られたもの
Flutter移行の苦労と、乗り越えた先に得られたものFlutter移行の苦労と、乗り越えた先に得られたもの
Flutter移行の苦労と、乗り越えた先に得られたもの
 
研究効率化Tips Ver.2
研究効率化Tips Ver.2研究効率化Tips Ver.2
研究効率化Tips Ver.2
 
フロー効率性とリソース効率性について #xpjug
フロー効率性とリソース効率性について #xpjugフロー効率性とリソース効率性について #xpjug
フロー効率性とリソース効率性について #xpjug
 

Similar a Git_GitHub 入門者向けスライド.pdf

Github勉強会~Git・Githubを用いて共同開発・バージョン管理をしよう~
Github勉強会~Git・Githubを用いて共同開発・バージョン管理をしよう~Github勉強会~Git・Githubを用いて共同開発・バージョン管理をしよう~
Github勉強会~Git・Githubを用いて共同開発・バージョン管理をしよう~DoshishaUniv ProntiatVR
 
猫にはわからないGit講座
猫にはわからないGit講座猫にはわからないGit講座
猫にはわからないGit講座Yusei Yamanaka
 
GitHubで学ぶバージョン管理
GitHubで学ぶバージョン管理GitHubで学ぶバージョン管理
GitHubで学ぶバージョン管理Masafumi Yokoyama
 
@s_ssk13さん向けGitHub入門
@s_ssk13さん向けGitHub入門@s_ssk13さん向けGitHub入門
@s_ssk13さん向けGitHub入門Takashi Imagire
 
ゆるふわっGit入門
ゆるふわっGit入門ゆるふわっGit入門
ゆるふわっGit入門Keisuke Oohata
 
Git社内勉強会資料
Git社内勉強会資料Git社内勉強会資料
Git社内勉強会資料Kenji Takei
 
Git introduction
Git introductionGit introduction
Git introductiontotzyuta
 
Git 初心者講座 by forkwell
Git 初心者講座 by forkwellGit 初心者講座 by forkwell
Git 初心者講座 by forkwellsinsoku listy
 
Build insider offline session チームでのgit
Build insider offline session チームでのgitBuild insider offline session チームでのgit
Build insider offline session チームでのgitTadahiro Ishisaka
 
Git -分散バージョン管理システム-
Git -分散バージョン管理システム-Git -分散バージョン管理システム-
Git -分散バージョン管理システム-Koji Shinba
 
医療データ解析者へ向けた Git・GitHub 入門
医療データ解析者へ向けた Git・GitHub 入門医療データ解析者へ向けた Git・GitHub 入門
医療データ解析者へ向けた Git・GitHub 入門Yui Tomo
 
gitを使って、レポジトリの一部抽出forkしてみました
gitを使って、レポジトリの一部抽出forkしてみましたgitを使って、レポジトリの一部抽出forkしてみました
gitを使って、レポジトリの一部抽出forkしてみましたTakako Miyagawa
 
超初心者のためのGitマニュアル
超初心者のためのGitマニュアル超初心者のためのGitマニュアル
超初心者のためのGitマニュアルMasakiKato14
 
もしWordPressユーザーがGitを使ったら 〜WordPressテーマを共同編集しよう〜
もしWordPressユーザーがGitを使ったら 〜WordPressテーマを共同編集しよう〜もしWordPressユーザーがGitを使ったら 〜WordPressテーマを共同編集しよう〜
もしWordPressユーザーがGitを使ったら 〜WordPressテーマを共同編集しよう〜Takashi Uemura
 

Similar a Git_GitHub 入門者向けスライド.pdf (20)

Github勉強会~Git・Githubを用いて共同開発・バージョン管理をしよう~
Github勉強会~Git・Githubを用いて共同開発・バージョン管理をしよう~Github勉強会~Git・Githubを用いて共同開発・バージョン管理をしよう~
Github勉強会~Git・Githubを用いて共同開発・バージョン管理をしよう~
 
猫にはわからないGit講座
猫にはわからないGit講座猫にはわからないGit講座
猫にはわからないGit講座
 
GitHubで学ぶバージョン管理
GitHubで学ぶバージョン管理GitHubで学ぶバージョン管理
GitHubで学ぶバージョン管理
 
@s_ssk13さん向けGitHub入門
@s_ssk13さん向けGitHub入門@s_ssk13さん向けGitHub入門
@s_ssk13さん向けGitHub入門
 
ゼミGit
ゼミGitゼミGit
ゼミGit
 
ゆるふわっGit入門
ゆるふわっGit入門ゆるふわっGit入門
ゆるふわっGit入門
 
Git社内勉強会資料
Git社内勉強会資料Git社内勉強会資料
Git社内勉強会資料
 
Git introduction
Git introductionGit introduction
Git introduction
 
Git introduction
Git introductionGit introduction
Git introduction
 
Git&GitHub入門
Git&GitHub入門Git&GitHub入門
Git&GitHub入門
 
Git 20100313
Git 20100313Git 20100313
Git 20100313
 
Git地図
Git地図Git地図
Git地図
 
Git 初心者講座 by forkwell
Git 初心者講座 by forkwellGit 初心者講座 by forkwell
Git 初心者講座 by forkwell
 
Build insider offline session チームでのgit
Build insider offline session チームでのgitBuild insider offline session チームでのgit
Build insider offline session チームでのgit
 
Git -分散バージョン管理システム-
Git -分散バージョン管理システム-Git -分散バージョン管理システム-
Git -分散バージョン管理システム-
 
医療データ解析者へ向けた Git・GitHub 入門
医療データ解析者へ向けた Git・GitHub 入門医療データ解析者へ向けた Git・GitHub 入門
医療データ解析者へ向けた Git・GitHub 入門
 
Yahoo! JAPAN MEETUP #21~Gitを使ったチーム開発体験@名古屋~
Yahoo! JAPAN MEETUP #21~Gitを使ったチーム開発体験@名古屋~ Yahoo! JAPAN MEETUP #21~Gitを使ったチーム開発体験@名古屋~
Yahoo! JAPAN MEETUP #21~Gitを使ったチーム開発体験@名古屋~
 
gitを使って、レポジトリの一部抽出forkしてみました
gitを使って、レポジトリの一部抽出forkしてみましたgitを使って、レポジトリの一部抽出forkしてみました
gitを使って、レポジトリの一部抽出forkしてみました
 
超初心者のためのGitマニュアル
超初心者のためのGitマニュアル超初心者のためのGitマニュアル
超初心者のためのGitマニュアル
 
もしWordPressユーザーがGitを使ったら 〜WordPressテーマを共同編集しよう〜
もしWordPressユーザーがGitを使ったら 〜WordPressテーマを共同編集しよう〜もしWordPressユーザーがGitを使ったら 〜WordPressテーマを共同編集しよう〜
もしWordPressユーザーがGitを使ったら 〜WordPressテーマを共同編集しよう〜
 

Git_GitHub 入門者向けスライド.pdf