Gitの練習
- 前回の演習で
home
に作成したinfovis
フォルダに移動してください。
Hint
cd
を使います。
home
は~
で表すことができます。
Answer
cd ~/infovis
demo
という名前のフォルダを作成し、作成したフォルダに移動してください。
Hint
mkdir
とcd
を使います。
Answer
mkdir demo cd demo
demo
をGitレポジトリとして初期化してください。
Hint
git init
を使います。
Answer
git init
- うまく初期化できたかどうかを、
.git
があるかどうかによって確認してみましょう。
Hint
.
が最初につくファイル/フォルダは隠しファイルです。ls -a
で確認しましょう。
Answer
ls -a
-
git status
でGitレポジトリの状態を確認してみてください。 -
レポジトリ内に
hello.txt
というファイルを作り、hello, world
と入れてください。
Hint
echo
を使ってみましょう。
Answer
echo "hello, world" > hello.txt
-
もう一度、
git status
でレポジトリの状態を確認してください。hello.txt
が追加されたことと、このファイルがGitによって追跡されていないことが示されているでしょうか。 -
現在のスナップショットをとる第一歩として、
hello.txt
をステージングエリアに追加してください。
Hint
git add hello.txt
を実行しましょう。
Answer
git add hello.txt
-
もう一度、
git status
でレポジトリの状態を確認してください。hello.txt
がステージングエリアに追加されているでしょうか。 -
いよいよ現在のスナップショットをとります。
git commit
を実行し、コミットメッセージとして「first commit」と入力してください。
Hint
初回実行時には、メールアドレスとユーザー名の設定が必要かもしれません。 画面上の案内にしたがって以下のコマンドを実行してから、再度
git commit
を実行してください。git config --global user.email "自分のメールアドレス" git config --global user.name "希望するユーザー名"
Hint
Hint
git commit -m "[コミットメッセージ]"
とすることで、コミットメッセージを引数として渡し、エディタを起動しないこともできます。
Answer
git commit -m "first commit"
-
git log
を実行して、コミットができていることを確認してください。 -
ディレクトリの状態とコミットの状態がそれぞれ以下になるよう、操作してください。
ディレクトリの状態
demo
├── cat.txt
├── dog.txt
└── hello.txt
コミットの状態(git log --all --graph --decorate --oneline
の出力結果)
* 624c647 (HEAD -> main) merge branches 'cat' and 'dog'
|\
| * 817b6b1 (dog) add dog.txt
* | 32595e2 (cat) add cat.txt
|/
* dcc60a7 first commit
Hint
ハッシュは上記と同じである必要はありません。
Hint
git checkout
、git branch
、git merge
を新たに使います。
Answer
# mainブランチからcatブランチを作り、catブランチに移動する git checkout -b cat # cat.txtというファイルを作る touch cat.txt # cat.txtをステージングする(次のコミットに入れる準備をする) git add cat.txt # "add cat"というメッセージつきでコミットする git commit -m "add cat" # mainブランチに戻る git checkout main # mainブランチからdogブランチを作り、dogブランチに移動する git checkout -b dog # dog.txtというファイルを作る touch dog.txt # dog.txtをステージングする(次のコミットに入れる準備をする) git add dog.txt # "add dog"というメッセージつきでコミットする git commit -m "add dog" # mainブランチに戻る git checkout main # catブランチとdogブランチをmainブランチに統合する git merge cat dog
![]()
![]()
git log --all --graph --decorate
の結果をgit-log.txt
として保存し、このファイルをコメントシートにアップロードしてください。
Answer
git log --all --graph --decorate > git-log.txt
余力があったら
参考情報
- GitHub演習:とても分かりやすい講義ノート。おすすめです。
- Pro Git:Gitのマニュアル。
- Learn Git Branching:ブラウザで遊べるGitのゲーム。こちらもぜひどうぞ。