SlideShare une entreprise Scribd logo
1  sur  38
Gitのはじめかた
Lesson1
Githubのアカウント作成
Githubのサイトにアクセス後
必要な情報を入力してGithubに登録
Lesson2.1
Cygwinとgitのインストール
Cygwinのサイトから、setup.exeをダウンロードし、setup.exeを実行します。

各OSに対応したsetup.exeをダウンロードすること
Lesson2.2
Cygwinとgitのインストール
パッケージの選択時に、git,ssh,vimで検索して、各パッケージを
インストールします。
Lesson3.1
GithubにSSH公開鍵を登録
ユーザー名、メールアドレスの設定を行います。
git config --global user.name “tahichi”
git config --global user.email “sample@sendai-nct..jp”
CygwinでSSH鍵の保存ディレクトリを作成し、ssh-keygenを実行します。
mkdir ~/.ssh
cd ~/.ssh
ssh-keygen
Lesson3.2
GithubにSSH公開鍵を登録
保存先とパスフレーズを入力します。
ssh-keygen

vimかtxtエディタにて公開鍵.pub(id_rsa.pub)を開き、中身をコピーします
$vim id_rsa.pub
Lesson3.3
GithubにSSH公開鍵を登録
Github上で、Account Setting > SSH keys をクリック
Add SSH keyを
クリックする

id_rsa.pubの
中身をここに
ペースト
Add keyをクリック
して追加

※中身を全て
Lesson3.4
GithubにSSH公開鍵を登録
Cygwinで接続確認をします。
$ ssh git@github.com
PTY allocation request failed on channel 0
Hi yuukikaito! You've successfully authenticated, but GitHub does not
provide shell access.
Connection to github.com closed.
上記のようなメッセージが表示されたら成功
Lesson4
Githubにリポジトリを作成
Githubにアクセスして、New repositoryをクリックします。

repository nameを入力して、Create repositoryをクリック
Lesson5.1
ローカルリポジトリ
ローカルリポジトリとなるフォルダを作成。
$ mkdir test
Gitを作成するディレクトリを初期化します。
$ cd test/
$ git init
Initialized empty Git repository in /home/tahichi_ver2.0/test/.git/
READMEファイルを新規作成。
$ touch README
ローカルリポジトリにcommitを行います。
commit文(“”の中身)はどのような更新があったのか簡潔に書きます。
$ git add .
$ git commit -m "add README"
[master (root-commit) 5a124f3] add README
このメッセージが
0 files changed, 0 insertions(+), 0 deletions(-)
表示されたらOK
create mode 100644 README
Lesson5.2
リモートリポジトリ
リモートリポジトリを指定して、プッシュします。
$ git remote add origin git@github.com:USERNAME/test.git
$ git push origin master
Githubのリポジトリを開き、コミットされているか確認しましょう

READMEがリモートリポジトリに上がりましたね。
Git活用術
(1/3)
ブランチ分けとマージ
チームで同一のプログラムに変更を加える時はブランチ分けという手
法を用いるとよい。
※詳しくはここを参照↓
http://www.slideshare.net/kotas/git-15276118
今あるブランチを確認する
$ git branch
* master
今はmasterしかブランチがありません。
*が着いているのは今いるブランチという意味です
ブランチを追加する
git branch dennshichi
$ git branch
dennshichi
* master
dennshichiというブランチが追加されました。
(2/3)
ブランチ分けとマージ
今あるブランチ確認から別のブランチに移動する。
$ git checkout yamashita
Switched to branch 'yamashita‘
$ git branch
dennshichi
master
* yamashita

*がmasterブランチからyamashitaブランチに移動し
ていますね
※*があるところが現在のブランチ
この状態になれば、ブランチが違うのでいくら変
更を加えてもOK
(2/3)
ブランチ分けとマージ
分けたブランチの内容をmasterブランチやそのほかのブランチと統合
するにはmergeというコマンドを用いる
※詳しくはここを参照↓
http://www.slideshare.net/kotas/git-15276118
dennshichiとyamashitaブランチを統合する
$ git checkout dennshichi
Switched to branch 'dennshichi‘
$ git merge yamashita
Updating 8da9637..2e4cc4d
Fast-forward
test.c | 2 +1 files changed, 1 insertions(+), 1 deletions(-)
変更元のブランチへ移動した後に変更を加えたブランチをmergeで取
り込みます。masterにマージする前にマージ用のブランチを一個作っ
ておくとmasterブランチが安全になります。
Gitでよく使うコマンド
よく使うコマンド
init

add commit push clone branch
checkout fetch merge
rebase
pull
rm
reset remote tag
log

status

*すべては補足してないので、詳しくは最後のスライドのURLを参照
init
現在の場所にリポジトリを作成する
$ mkdir test
$ cd test
$ git init
add
対象をバージョン管理に追加する
ワイルドカードを使う
$ git add **/*.c
強制的に追加
$ git add –f test.c
部分的に追加
$ git add –I test.c
今いるディレクトリの中身を全て追加
$ git add .
commit
ローカルブランチへの反映
$ git commit
全部追加した上でコミットする
$ git commit -a
直前のコミットにコミットする
$ git commit --amend
コミットにメッセージをつける
$ git commit –m “message”
push
リモートサーバへの反映
$ git push <remotename>
ローカルブランチと同名のブランチをリモート上に作成する
$ git push <remote> <localbranch>
別名でpushする
$ git push <remote> <localbranch>:<remotebranch>
リモートブランチを削除する
$ git push –delete <remote> <localbranch>:<remotebranch>
$ git push <remote> :<branchname>
プッシュしたリモートブランチをトラッキングする
$ git push –u <remote> <branchname>
強制的にプッシュ
$ git push –f <remote> <branchname>
push
注意事項
git push(remoteとブランチの指定なし
はトラッキングしているローカルブランチを全てプッシュしてしまう
ので、とても危険です。
デフォルトではcurrent branch だけプッシュする設定で安全運用

$ git config –global push.default upstream
clone
リポジトリのコピーを作成する
sshを利用する
$ git clone ssh://[user@]host[:port]/path/to/test.git
$ git clone [user@]host:path/to/test.git
httpsを利用

$ git clone http[s]://host[:port]/path/to/test.git/
ローカル
$ git clone [file://]/path/to/test.git/
branch
ローカルブランチを作成/削除する
ローカルブランチの一覧
$ git branch
リモートブランチの一覧
$ git branch –r <remote>
全てのブランチの一覧

$ git branch -a
ローカルブランチの作成
$ git branch <branchname>
ローカルブランチの削除

$ git branch –d <branchname>
$ git branch –D <branchname>
リモートブランチの削除
$ git branch –r –d <remote>/<branchname>
branch
ローカルブランチを作成/削除する
ブランチの移動(名前変更)
$ git -m <oldbranch> <newbranch>
$ git -M <oldbranch> <newbranch>
トラッキング先を設定する

$ git branch --set-upstream <local_branch> <remote_branch>
これをするとgit push/pullのときにリモートブランチを指定しなくて
も、設定したブランチに対して実行してくれます。
checkout
ブランチを取得する
$ git checkout <branch>
ブランチを作成してチェックアウト
$ git checkout -b <newbranch> [<startpoint>]
リモートブランチのトラッキングブランチを作成しチェックアウト
$ git checkout –t <remote>/<branch>
コミット前の変更を取り消す
$ git checkout <path>…
fetch
リモートの状態を更新する
$ git fetch <remote>
全てのリモートブランチを更新する
$ git fetch --all
更新後に、リモートサーバ上に存在しないリモートブランチを削除す
る
$ git fetch (-p | --prune)
merge
ブランチを取り込む
$ git merge <branch>
fast-forwardしない
$ git merge --no-ff <branch>
マージのログを一つに圧縮する
$ git merge --squash <branch>

*fast-forward
早送りという意味なのですが、branchを統合する際に
pull
リモートを更新後ローカルに取り込む
$ git pull [<remote>] [<branch>]
後は自分で調べてね
http://www.slideshare.net/v
ector.xenon/git-14162471
結局何すれば
いいんだよ!!!!!
あなたのための
Gitマニュアル簡易版
Gitマニュアル
簡易版(1/4)

作業を始める前に
とりあえず
git pull
*誰かがファイルを変更したかもしれないので自分のローカルに変更
を反映させる
Gitマニュアル
簡易版(2/4)

作業がひと段落したら
git add .
addしたらすぐ
git commit -m “message”
*Ctrl-sをした時点でコミットしたほうが理想的
コミットはできるだけ残そう
Gitマニュアル
簡易版(3/4)

今日の作業終了のときに
git push
*pushは慎重かつ大胆に

寝る前に再度
git pull
*某H氏曰く、”pullして寝る”だそうです
Gitマニュアル
簡易版(4/4)
このサイクルを回せるように習慣づけしよう

1:pull

Ⅰ:add
Ⅱ:commit
*作業中はⅠ~Ⅱのサイクルを回して
毎日1~3のサイクルを回す

2
3:push
君も今日からGitマスター

Contenu connexe

Tendances

Wocker 秒速で WordPress 開発環境を構築する
Wocker 秒速で WordPress 開発環境を構築するWocker 秒速で WordPress 開発環境を構築する
Wocker 秒速で WordPress 開発環境を構築するKite Koga
 
Gitのよく使うコマンド
Gitのよく使うコマンドGitのよく使うコマンド
Gitのよく使うコマンドYUKI Kaoru
 
Python開発環境三種の神器
Python開発環境三種の神器Python開発環境三種の神器
Python開発環境三種の神器Yukitaka Uchikoshi
 
boot2docker の format-me の話
boot2docker の format-me の話boot2docker の format-me の話
boot2docker の format-me の話Kazuhiro Nishiyama
 
Git 入門
Git 入門Git 入門
Git 入門y-uti
 
世界一簡単なGithub入門(githubは無料で使用する場合、全てのファイルが公開されていることにご注意ください)
世界一簡単なGithub入門(githubは無料で使用する場合、全てのファイルが公開されていることにご注意ください)世界一簡単なGithub入門(githubは無料で使用する場合、全てのファイルが公開されていることにご注意ください)
世界一簡単なGithub入門(githubは無料で使用する場合、全てのファイルが公開されていることにご注意ください)Shinichi Hirauchi
 
Drone.io のご紹介
Drone.io のご紹介Drone.io のご紹介
Drone.io のご紹介Uchio Kondo
 
GitLabを16万8千光年ワープさせた話 GITLAB BIG UPGRADE PROJECT
GitLabを16万8千光年ワープさせた話 GITLAB BIG UPGRADE PROJECTGitLabを16万8千光年ワープさせた話 GITLAB BIG UPGRADE PROJECT
GitLabを16万8千光年ワープさせた話 GITLAB BIG UPGRADE PROJECTWataru NOGUCHI
 
Walter ファミリーの紹介 at Shibuya.go#1
Walter ファミリーの紹介 at Shibuya.go#1Walter ファミリーの紹介 at Shibuya.go#1
Walter ファミリーの紹介 at Shibuya.go#1Gosuke Miyashita
 
バージョン管理のワークフロー
バージョン管理のワークフローバージョン管理のワークフロー
バージョン管理のワークフローadd20
 
今時のDev opsの取り組み事例集
今時のDev opsの取り組み事例集今時のDev opsの取り組み事例集
今時のDev opsの取り組み事例集Wataru NOGUCHI
 
第1回 一撃サーバー構築シェルスクリプト勉強会
第1回 一撃サーバー構築シェルスクリプト勉強会第1回 一撃サーバー構築シェルスクリプト勉強会
第1回 一撃サーバー構築シェルスクリプト勉強会Yasutaka Hamada
 
Yocto Project ハンズオン / 参加者用資料
Yocto Project ハンズオン / 参加者用資料Yocto Project ハンズオン / 参加者用資料
Yocto Project ハンズオン / 参加者用資料Nobuhiro Iwamatsu
 
Rancher command line interface
Rancher command line interfaceRancher command line interface
Rancher command line interfaceMasahito Zembutsu
 
Casperjsのインストール
CasperjsのインストールCasperjsのインストール
CasperjsのインストールKohei Misu
 

Tendances (20)

Wocker 秒速で WordPress 開発環境を構築する
Wocker 秒速で WordPress 開発環境を構築するWocker 秒速で WordPress 開発環境を構築する
Wocker 秒速で WordPress 開発環境を構築する
 
Gitのよく使うコマンド
Gitのよく使うコマンドGitのよく使うコマンド
Gitのよく使うコマンド
 
Python開発環境三種の神器
Python開発環境三種の神器Python開発環境三種の神器
Python開発環境三種の神器
 
boot2docker の format-me の話
boot2docker の format-me の話boot2docker の format-me の話
boot2docker の format-me の話
 
Git 入門
Git 入門Git 入門
Git 入門
 
Docker入門
Docker入門Docker入門
Docker入門
 
Git 勉強会
Git 勉強会Git 勉強会
Git 勉強会
 
世界一簡単なGithub入門(githubは無料で使用する場合、全てのファイルが公開されていることにご注意ください)
世界一簡単なGithub入門(githubは無料で使用する場合、全てのファイルが公開されていることにご注意ください)世界一簡単なGithub入門(githubは無料で使用する場合、全てのファイルが公開されていることにご注意ください)
世界一簡単なGithub入門(githubは無料で使用する場合、全てのファイルが公開されていることにご注意ください)
 
Drone.io のご紹介
Drone.io のご紹介Drone.io のご紹介
Drone.io のご紹介
 
ICHIGEKI-MT 2015/03/14
ICHIGEKI-MT 2015/03/14ICHIGEKI-MT 2015/03/14
ICHIGEKI-MT 2015/03/14
 
GitLabを16万8千光年ワープさせた話 GITLAB BIG UPGRADE PROJECT
GitLabを16万8千光年ワープさせた話 GITLAB BIG UPGRADE PROJECTGitLabを16万8千光年ワープさせた話 GITLAB BIG UPGRADE PROJECT
GitLabを16万8千光年ワープさせた話 GITLAB BIG UPGRADE PROJECT
 
Walter ファミリーの紹介 at Shibuya.go#1
Walter ファミリーの紹介 at Shibuya.go#1Walter ファミリーの紹介 at Shibuya.go#1
Walter ファミリーの紹介 at Shibuya.go#1
 
バージョン管理のワークフロー
バージョン管理のワークフローバージョン管理のワークフロー
バージョン管理のワークフロー
 
今時のDev opsの取り組み事例集
今時のDev opsの取り組み事例集今時のDev opsの取り組み事例集
今時のDev opsの取り組み事例集
 
dvcs-kyoto
dvcs-kyotodvcs-kyoto
dvcs-kyoto
 
第1回 一撃サーバー構築シェルスクリプト勉強会
第1回 一撃サーバー構築シェルスクリプト勉強会第1回 一撃サーバー構築シェルスクリプト勉強会
第1回 一撃サーバー構築シェルスクリプト勉強会
 
Yocto Project ハンズオン / 参加者用資料
Yocto Project ハンズオン / 参加者用資料Yocto Project ハンズオン / 参加者用資料
Yocto Project ハンズオン / 参加者用資料
 
Pyramid
PyramidPyramid
Pyramid
 
Rancher command line interface
Rancher command line interfaceRancher command line interface
Rancher command line interface
 
Casperjsのインストール
CasperjsのインストールCasperjsのインストール
Casperjsのインストール
 

Similaire à いいこんぶGitマニュアル

Google container builderと友だちになるまで
Google container builderと友だちになるまでGoogle container builderと友だちになるまで
Google container builderと友だちになるまでlestrrat
 
RedmineとGitとスクラム
RedmineとGitとスクラムRedmineとGitとスクラム
RedmineとGitとスクラムTakashi Okamoto
 
猫にはわからないGit講座
猫にはわからないGit講座猫にはわからないGit講座
猫にはわからないGit講座Yusei Yamanaka
 
[Intermediate 02] シェルの使い方 / Git, GitHub について
[Intermediate 02] シェルの使い方 / Git, GitHub について[Intermediate 02] シェルの使い方 / Git, GitHub について
[Intermediate 02] シェルの使い方 / Git, GitHub についてYuto Takei
 
Debianを用いたCortex-M3マイコン開発事例のご紹介
Debianを用いたCortex-M3マイコン開発事例のご紹介Debianを用いたCortex-M3マイコン開発事例のご紹介
Debianを用いたCortex-M3マイコン開発事例のご紹介Kiwamu Okabe
 
git 初めの一歩
git 初めの一歩git 初めの一歩
git 初めの一歩Shin Yoshida
 
Git pyfes201207-presen
Git pyfes201207-presenGit pyfes201207-presen
Git pyfes201207-presenKouhei Maeda
 
Version Control System Tutorial バージョン管理システムチュートリアル
Version Control System Tutorial バージョン管理システムチュートリアルVersion Control System Tutorial バージョン管理システムチュートリアル
Version Control System Tutorial バージョン管理システムチュートリアルComputational Materials Science Initiative
 
Git-dojo In Sendagaya.rb
Git-dojo In Sendagaya.rbGit-dojo In Sendagaya.rb
Git-dojo In Sendagaya.rbJun Fukaya
 
Yocto Project ハンズオン プレゼン用資料
Yocto Project ハンズオン プレゼン用資料Yocto Project ハンズオン プレゼン用資料
Yocto Project ハンズオン プレゼン用資料Nobuhiro Iwamatsu
 
Getting Started With Ore-Ore Swift Standard Library +
Getting Started With Ore-Ore Swift Standard Library +Getting Started With Ore-Ore Swift Standard Library +
Getting Started With Ore-Ore Swift Standard Library +Tomohiro Kumagai
 
20120324 git training
20120324 git training20120324 git training
20120324 git trainingTakeshi AKIMA
 

Similaire à いいこんぶGitマニュアル (20)

Gitの紹介
Gitの紹介Gitの紹介
Gitの紹介
 
Git (運用編)
Git (運用編)Git (運用編)
Git (運用編)
 
Google container builderと友だちになるまで
Google container builderと友だちになるまでGoogle container builderと友だちになるまで
Google container builderと友だちになるまで
 
RedmineとGitとスクラム
RedmineとGitとスクラムRedmineとGitとスクラム
RedmineとGitとスクラム
 
猫にはわからないGit講座
猫にはわからないGit講座猫にはわからないGit講座
猫にはわからないGit講座
 
[Intermediate 02] シェルの使い方 / Git, GitHub について
[Intermediate 02] シェルの使い方 / Git, GitHub について[Intermediate 02] シェルの使い方 / Git, GitHub について
[Intermediate 02] シェルの使い方 / Git, GitHub について
 
Debianを用いたCortex-M3マイコン開発事例のご紹介
Debianを用いたCortex-M3マイコン開発事例のご紹介Debianを用いたCortex-M3マイコン開発事例のご紹介
Debianを用いたCortex-M3マイコン開発事例のご紹介
 
Vimの基本設定
Vimの基本設定Vimの基本設定
Vimの基本設定
 
git 初めの一歩
git 初めの一歩git 初めの一歩
git 初めの一歩
 
Git handson
Git handsonGit handson
Git handson
 
Git pyfes201207-presen
Git pyfes201207-presenGit pyfes201207-presen
Git pyfes201207-presen
 
Capistrano
CapistranoCapistrano
Capistrano
 
Version Control System Tutorial バージョン管理システムチュートリアル
Version Control System Tutorial バージョン管理システムチュートリアルVersion Control System Tutorial バージョン管理システムチュートリアル
Version Control System Tutorial バージョン管理システムチュートリアル
 
Git 実践入門
Git 実践入門Git 実践入門
Git 実践入門
 
Git-dojo In Sendagaya.rb
Git-dojo In Sendagaya.rbGit-dojo In Sendagaya.rb
Git-dojo In Sendagaya.rb
 
Yocto Project ハンズオン プレゼン用資料
Yocto Project ハンズオン プレゼン用資料Yocto Project ハンズオン プレゼン用資料
Yocto Project ハンズオン プレゼン用資料
 
Git地図
Git地図Git地図
Git地図
 
Getting Started With Ore-Ore Swift Standard Library +
Getting Started With Ore-Ore Swift Standard Library +Getting Started With Ore-Ore Swift Standard Library +
Getting Started With Ore-Ore Swift Standard Library +
 
Git超入門
Git超入門Git超入門
Git超入門
 
20120324 git training
20120324 git training20120324 git training
20120324 git training
 

いいこんぶGitマニュアル