Gitを使ってみよう
Upcoming SlideShare
Loading in...5
×
 

Gitを使ってみよう

on

  • 1,263 views

Summary of Git.

Summary of Git.

Statistics

Views

Total Views
1,263
Views on SlideShare
1,260
Embed Views
3

Actions

Likes
4
Downloads
9
Comments
0

2 Embeds 3

http://yama-linux.cc.kagoshima-u.ac.jp 2
http://s.deeeki.com 1

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Gitを使ってみよう Gitを使ってみよう Presentation Transcript

  • gitを使ってみよう git: the fast version control system 古屋 保(@tamochia) 29 March 2012 K-Ruby 1
  • ソースコードのバージョン管理 といえば…$ cp -Rp hoge hoge_20120321 2
  • gitとは• ソースコードを管理するためのオープンソースの 分散型バージョン管理システム• 元々はLinuxカーネルのソースコードを管理する 目的で開発された• 開発者ごとにローカルリポジトリを持つことが 可能【参考文献】1. Travis Swicegood著,でびあんぐる監訳,「入門git」,オーム社,20092. 岩松信洋,上川純一,まえだこうへい,小川伸一郎,「Gitによるバージョン管理」,オーム社,2011 3
  • 分散型バージョン管理システム remote repository push pull local local repository repository B A 4
  • 最初にやっておくこと git config • Gitで利用する名前とメールアドレスを設定 • 「~/.gitconfig」に書き込まれる$ git config --global user.name "hoge hoge"$ git config --global user.email hoge@gmail.com$ git config --global color.ui auto$ git config --global -l 5
  • リポジトリの作成 git init$ cd HelloApp$ git init local repository 6
  • リポジトリへの登録 git add, git commitworking tree index local repository hello.c hello.c hello.c Makefile Makefile Makefile git add git commit git commit -m "Message" 7
  • 管理外のファイルを無視する .gitignoreworking tree index local repository hello.c hello.c hello.c Makefile Makefile Makefile hello.o hello .gitignore hello.o hello 8
  • 差分を出力する git diffworking tree index local repository hello.c hello.c hello.c Makefile Makefile Makefile hello.o git diff git diff HEAD hello HEADは最新コミット .gitignore .gitignore .gitignore 9
  • コミットログと状態の表示 git log, git status• コミットログの表示✦ git log✦ git log --oneline --decorate✦ git log --oneline --graph• ワーキングツリー及びリポジトリの状態表示✦ git status 10
  • コミットをなかったことにする git resetHEAD^^^ HEAD^^ HEAD^ HEAD38a123~ 4a8931~ 13ea90~ 124b34~ A B C D 最新コミット git reset --hard HEAD^^ HEAD^ HEAD38a123~ 4a8931~ A B 最新コミット 11
  • コミットをなかったことにする git resetworking tree index local repository hello.c hello.c hello.c git reset --soft HEAD^ ワーキングツリー は影響無し foo.c foo.c foo.c git reset --mixed HEAD^ 12
  • コミットを前の状態に戻す git revert HEAD^^^ HEAD^^ HEAD^ HEAD 38a123~ 4a8931~ 13ea90~ 124b34~ A B C D 最新コミット $ git revert HEAD^^ $ git commit -m "E" Bのコミット 状態で最新「変更」の履歴が残る38a123~ 4a8931~ 13ea90~ 124b34~ 342b34~ A B C D E 13
  • ブランチを利用する git branch, git checkout A B masterブランチ C develブランチ$ git branch devel master 「branch」…ブランチの作成$ git checkout devel : 「checkout」…ブランチの切替え$ git commit -am "C" 14
  • ブランチのマージ git merge masterA B E ブランチ マージ C D devel ブランチ $ git checkout master $ git merge devel 15
  • ブランチのマージ git merge masterA B D F ブランチ マージ C E devel ブランチ $ git checkout master $ git merge devel <コンフリクトが起こる可能性有り> 16
  • ブランチのリベース git rebase masterA B D ブランチ devel C E ブランチ $ git checkout devel $ git rebase masterA B D masterブランチに追従 devel C E ブランチ 17
  • リモートリポジトリの登録 git remote add remote repositoryreposv $ git remote add origin ssh://hoge@reposv/HelloApp.git local repository A $ git remote add github git@github.com:hoge/HelloApp.git 18
  • リモートリポジトリとのやり取り git push, git pull remote repository$ git push origin master $ git pull origin master local local repository repository A B 19
  • リモートリポジトリのクローンをコピーする git clone reposv remote repository$ git clone ssh://hoge@reposv/HelloApp.git $ git clone git://github.com/hoge/HelloApp.git 20
  • リモートリポジトリとしてDropboxを 利用する方法 remoterepository ~/Dropbox/repos/HelloApp.git $ mkdir ~/Dropbox/repos/HelloApp.git $ cd ~/Dropbox/repos/HelloApp.git/ $ git init --bare bare オプションにより,ワーキングツリー無しの リモートリポジトリを作成する. localrepository A 既にローカルリポジトリが存在するマシンでの登録方法 $ git remote add origin ~/Dropbox/repos/HelloApp.git 新しいマシンでの登録方法 $ git clone ~/Dropbox/repos/HelloApp.git 21
  • まとめ• 覚えるコマンド1.git config 10.git branch2.git init 11.git checkout3.git add 12.git merge4.git commit 13.git rebase5.git diff 14.git remote add6.git log 15.git push7.git status 16.git pull8.git reset 17.git clone9.git revert 22