gitの勉強をしてみた(1)

今までプログラミングをしていてソースの管理とかいい加減だったんだけど、一念発起してgitを勉強してみた。

まずはインストールから。

~/myprog$ git --version
git version 2.17.1

あれ既にインストールされてる。なんでだろ?昔自分でインストールしたのかな。

良く分からないけど、初期設定する。

~/myprog$ git config --global user.name "nantara"
~/myprog$ git config --global user.email nantara@kantara.com
~/myprog$ git config --list
user.name=nantara
user.email=nantara@kantara.com
core.repositoryformatversion=0
core.filemode=true
core.bare=false
core.logallrefupdates=true

実際に使ってみるよ。

~/myprog$ cat test.c
main()
{
    return 42;
}
~/myprog$ clang-5.0 test.c -o test
test.c:1:1: warning: type specifier missing, defaults to 'int' [-Wimplicit-int]
main()
^
1 warning generated.
~/myprog$ ./test
~/myprog$ echo $?
42
~/myprog$ git init
Initialized empty Git repository in /home/nantara/myprog/.git/
~/myprog$ git add test.c
~/myprog$ git commit
[master (root-commit) 5717ec5] 初版作成
 1 file changed, 4 insertions(+)
 create mode 100644 test.c
~/myprog$ git log
commit 5717ec52925cdc9c149ae167e8ec9913aedc9b48 (HEAD -> master)
Author: nantara <nantara@kantara.com>
Date:   Thu Mar 7 14:56:14 2019 +0900

    初版作成

commitするとエディタが立ち上がるので適当にコメント書く。今回は初版作成にしたよ。

test.cはコンパイル時にワーニングが1個出てるんでmainに返り値の型をちゃんと付けた。

~/myprog$ cat test.c
int main()
{
    return 42;
}
~/myprog$ clang-5.0 test.c -o test
~/myprog$ ./test
~/myprog$ echo $?
42
~/myprog$ git add test.c
~/myprog$ git commit -m "コンパイル時のワーニングの削除"
[master f021a79] コンパイル時のワーニングの削除
 1 file changed, 1 insertion(+), 1 deletion(-)
~/myprog$ git log
commit f021a79d9ad38fbb034df99bb5c5edc33ac827d8 (HEAD -> master)
Author: nantara <nantara@kantara.com>
Date:   Thu Mar 7 15:31:58 2019 +0900

    コンパイル時のワーニングの削除

commit 5717ec52925cdc9c149ae167e8ec9913aedc9b48
Author: nantara <nantara@kantara.com>
Date:   Thu Mar 7 14:56:14 2019 +0900

    初版作成

commitするとき-mを付けるとコメントを直接書ける。エディタが立ち上がらないんでこっちの方が良いね。
logを確認するとちゃんと新しいバージョンが登録されてる。

ここまでをまとめるよ。
・gitをインストールしたら最初にユーザー名とメアドを設定する。
・git initでリポジトリを作成する。これはプロジェクトごとに1回でOK。
・git add ファイル名で登録する。
・git commit -m "コメント"で新バージョンへ。コメントは分かりやすく書こう。
・普段の作業としてはaddとcommitをプログラム修正ごとに繰り返せば良い。

今日のところはこれまで。