Git/ローカルのみでの運用

Git/ローカルのみでの運用

Git は分散型なので運用にSVNのようにサーバを必要としない。なのでローカルだけで完結して運用もできるのだ。 ローカルにサーバを立てる必要も無い。Git というのは Git リポジトリのファイルを操作するアプリであると考えるとよい。

以下チュートリアル的にローカルでファイル管理してみる

管理対象のディレクトリを作る

$ mkdir sample01
$ cd sample01

管理対象のディレクトリをGit管理する

$ git init

これで管理対象ディレクトリの中に.gitディレクトリができてその中に管理ファイルができあがる。 これで準備OK。つまるところ Git とは SVN のようなサービスではなく、この管理ファイルを読み書きする単なるツールということだ。

ローカルのみで運用するので、remote を追加する必要が無い。 当然後々このローカルリポジトリを Github とか Bitbucket 等のリモートで管理に移行することも簡単である。

ファイルを追加してコミットする

追加するファイルを新規に作る

$ touch hoge1.txt

現在のディレクトリ状態を確認する

$ git status
# On branch master
#
# Initial commit
#
# Untracked files:
#   (use "git add <file>..." to include in what will be committed)
#
#	hoge1.txt
nothing added to commit but untracked files present (use "git add" to track)

表示されている情報を見ると

  • 現在masterブランチの上にいますよ
  • Gitの管理外のファイルが・・・hoge1.txt

・・・と読み取れる

コミット準備する ということでhoge1.txtをコミット準備状態にする

$ git add hoge1.txt
$ git status
# On branch master
#
# Initial commit
#
# Changes to be committed:
#   (use "git rm --cached <file>..." to unstage)
#
#	new file:   hoge1.txt
# 

コミット準備にhoge1.txtが入ったのがわかる

説明に

$ git rm- --cached ...

とやれば、準備を取り消せるっぽいのでやってみる

$ git rm --cached hoge1.txt

ワーク状態を確認すると。また戻っていることがわかる。

再び準備してコミット

$ git add hoge1.txt
$ git commit -m "This is first."

ワーク状態確認すると

$ git status
# On branch master
nothing to commit (working directory clean)

変更分がなくなっていることがわかる

さらに幾つかの変更を積んでみる

$ touch hoge2.txt

次は一気に追加する方法でコミット準備を行う

$ git add .

引数にファイルではなくドットを指定すると、変更分のファイルを一気にステージすることができる。

表示されている説明を読むとさっきとは戻すやり方が違う

$ git reset HEAD ...

これは指定ファイルだけHEAD状態まで戻せよって意味だろう。

単にやるのも面白くないのでドットを指定して全部解除できるかやってみよう

$ git reset HEAD .

うむ、全部解除できた。

再びステージしてコミットする

$ git add .
$ git commit -m "This is 2nd."

もういっちょ

$ git touch hoge3.txt
$ git add .
$ git commit -m "This is 3nd."

ここまでのコミットの履歴を見てみる

$ git log

コミットした時刻の降順に表示される。

$ git log --graph --color

とやればより見やすくでるね。

タグ

vcs/git/local_only_operation.txt · 最終更新: 2017-09-29 12:20 by ore