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 commitHint
ハッシュは上記と同じである必要はありません。
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のゲーム。こちらもぜひどうぞ。
