とらりもんHOME  Index  Search  Changes  Login

git

大事な概念・用語

  • work tree: 保存・更新・管理の対象とするディレクトリのこと。例: ~/hogehoge/
  • index: 「git addコマンド」によって, work treeから反映される中間状態。
  • repository: 「git commit」コマンドによって, indexから反映される状態。例: ~/hogehoge/.git/
  • commitする: indexからリポジトリへ反映すること。
  • revision: ある時点でのリポジトリの状態。commitともいう。
つまり, こういう図式:
[work tree] --(git add)--> [index] --(git commit)--> [repository]
  • branch: repositoryの中の枝分かれ。「git branchコマンド」で作ったり消したり。branchどうしの移動は「git checkout」コマンド。
  • tag

GitHubにリポジトリを作る

hogehoge.gitというリポジトリをGitHub上で作る。その後、ローカルで, 
$ git remote add origin https://github.com/24dakenlo/hogehohe.git
↑このかわりに, 
$ git remote add origin https://****@github.com/24dakenlo/hogehohe.git
のように, URLにログイン名****を埋め込むと, あとでいちいちログイン名を聞かれなくて済む。

ローカルリポジトリを作る

対象ファイルのあるディレクトリ(それをワークツリーという)で,
$ git init

すると, そのディレクトリに.gitというディレクトリができる。それがローカルリポジトリ。

$ git config --global user.name "Kenlo Nasahara"
$ git config --global user.email "****@*****"

ワークツリーの状態をインデックスに反映

$ git add file1 file2     ... file1とfile2をインデックスに反映。
$ git add -u    ... ワークツリー内の全内容をインデックスに反映。
$ git status     ... インデックスの状態を表示。

インデックスの状態をリポジトリに反映(コミット)

$ git commit -a      ... インデックスの状態をリポジトリに反映。
→ この後, メッセージ入力が求められる。

または,

$ git commit -m "minor change!"
↑メッセージをコマンドラインに含めてしまう。

GitHubにpush

$ git push origin master

もろもろ

git diff ... 現在のワークツリーとインデックスの差分
git log ... 変更履歴の表示
$ git log
commit 916a3b27dd3257bd6c2d9e4db5f7eb785582b929
Author: Kenlo Nishida Nasahara <****@gmail.com>
Date:   Sat Jun 17 14:27:10 2017 +0900
↑この916a3b27dd3257bd6c2d9e4db5f7eb785582b929みたいな部分をそのコミットの「オブジェクト名」という。
git branch ... ブランチを一覧表示
git branch hogehoge  ... hogehogeという名前のブランチを新規に作成。
git checkout hogehoge  ... hogehogeというブランチに切り替える。
git chechout master; git merge hogehoge   ... hogehogeというブランチの内容をmasterブランチに反映。
git branch -d hogehoge   ... hogehogeというブランチを削除。
git clone ~/hogehoge  ... ~/hogehogeというワークツリー及びそのリポジトリをカレントディレクトリにコピー。

最新のリポジトリの状態までワークツリーを戻す。

$git checkout HEAD .

古いファイルを引っ張りだす

$ git show HEAD :abcd.c
$ git checkout HEAD :abcd.c
Last modified:2017/06/18 22:00:02
Keyword(s):
References:[とらりもんHOME]