31
38

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

使い始める Git

Last updated at Posted at 2013-07-21

Gitはバージョン管理を行うためのツールの一つです。Gitを利用することで、ソースコードを変更前に戻したり誰がいつ何処を変更したのかを把握することが可能になります。

インストール

初期設定

ユーザー名/メールアドレスを設定します。

git config --global user.name "git taro" 
git config --global user.email git.taro@example.com

プロキシ配下の場合(認証がある場合はuser:passにユーザーIDとパスワードを設定)
※パスワードに@がある場合は、@をURLエンコードした値(%40)を使用します

$git config --global http.proxy http://proxy.server.com:port
$git config --global http.proxy http://user:pass@proxy.server.com:port

git config --global --list

で設定確認

基本操作

Gitに限らず、バージョン管理系のソフトはファイルの変更を「コミット」(記録)することで、変更履歴を作成します。
この変更履歴にはメッセージを付けることができるので、「何のために」「ソースコードのどの箇所を変更したのか」を記録していくことができます。

コミットメッセージとしてどんなものが適切なのかは、こちらの資料を参照してみてください。

Gitでの基本的な操作は、以下のようになります。

  • リポジトリの作成: バージョン管理の対象となっているフォルダを「リポジトリ」といいます(ざっくり言えば)。これは、外からとってくる場合と自分で作る場合の2通りがあります。
  • git init: フォルダ内でこのコマンドを実行することで、そのフォルダをバージョン管理対象=Gitリポジトリにすることができます。
  • git clone: 外部のリポジトリを、ローカルにダウンロードします。この場合、外部のリポジトリはすでにGitリポジトリのため、バージョン管理が行われています。
  • コミットの作成
  • git add: コミット対象の(変更された)ファイルを登録する
  • git commit: 変更を記録する
  • (コミットの送信): リポジトリがオンラインにある場合は(GitHubなど)、手元で行ったコミットを外部のリポジトリに送信します
  • git push: ローカルのコミットを外部のリポジトリに送信する

全体像は以下のような図になります。

1-slide-git

1slide で理解するGitより

基本

# フォルダを作成
mkdir myRepository

# git リポジトリにする
git init

# ~何かしらファイルを変更~

# 変更の登録
git add -A

# 変更の記録
git commit -m "commit message"

なお、リポジトリに含めたくないファイルは.gitignoreで管理します。各言語や開発環境によって設定内容が変わってくるため、こちらから選んでくるとよいです。

github/gitignore

.gitignoreを設定していないと、リポジトリのサイズが肥大化したりする弊害があります。リポジトリを作成した際は必ず確認しましょう

取り消しを行う場合

上からadd、commitの取り消し、commit メッセージの修正を行う場合のコマンドになります。

git rm -r --cached .
git reset --soft HEAD~ 
git commit --amend -m "new message"

commitログの修正

git rebase -i HEAD~3
HEAD~で修正するコミットログの範囲を設定(3なら、直近3回のコミットを修正)

変更内容の確認

上からadd、commit、commitログの確認になります

git diff --cached --name-only 
git diff HEAD^ --name-only 
git log --pretty=oneline --abbrev-commit 

branchの作成

まとまった変更を行うときは、ブランチという作業スペースを作成し、そこで変更を行っていき後で統合(マージ)を行います。
以下はブランチの作成/作成したブランチへの移動/削除/確認のコマンドになります。

git branch xxx
git checkout xxx
git branch -D xxx

外部のリポジトリに修正を送る場合(Pull Request)もブランチを使った作業になります。詳細は以下の記事をご参照ください。

GitHubへpull requestする際のベストプラクティス

その他

標準エディタの使い方

git commitでメッセージを入れ忘れたり git rebase すると謎なモードになりますが、これが標準のエディタです。
とりあえず以下のコマンドさえ覚えていれば困りません。

コマンド 説明
dd 行削除
i 編集モードに入る。これでメッセージを編集できる
escキー 編集モードから抜ける
:w 編集内容を保存する
:q エディタモードを終了する

オンラインリポジトリ(GitHub / Bitbucket)関連

リモートリポジトリの登録/削除/確認

git remote add xxx https://xxxx 
git remote -rm xxx
git remote show xxx
git remote 

リポジトリのダウンロード
git clone https://xxxxx

コミットの送信(remote名・ブランチ名で宛先指定)
git push xxx master

リポジトリ側の更新をローカルに反映
git pull xxx master

参考リンク

上記で紹介したコマンドの、より詳細な使い方は以下の記事をご参考ください。

31
38
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
31
38

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?