開発時のバージョン管理でgitを使うことはよくあると思います。
普段はgitクライアントを使用しているためコマンドをあまり意識しなくても良かったのですが、コマンドラインから使用する場合に使用する基本的なコマンドをまとめておきます。
今回はgithubを使用するので準備としてアカウントとリポジトリを作成しておきます。
また、ユーザー設定でアクセストークンも取得しておきます。
ローカルリポジトリ作成
gittestディレクトリを作成して、test.txtをコミットしてみます。
mkdir gittest cd gittest git init echo test > test.txt git add test.txt git commit -m "first commit"
git init でディレクトリの初期化
git add でコミット対象を追加
git commit でコミット、-m はコミット時のメッセージです。
リモートリポジトリへプッシュ
ローカルリポジトリをリモートにプッシュします。
git remote add origin https://github.com/xxxxxx/gittest.git git push -u origin master
git remote で作成しておいたリモートリポジトリを設定します。
git push でリモートにプッシュします。
master はブランチ名です。
デフォルトで master ブランチが作成されていました。
git branch で確認できます。
プッシュ時にgithubのユーザー名とパスワードの入力が求められるので入力します。パスワードには事前に取得しておいたアクセストークンを入力します。
クローン
作成したリポジトリからクローンしたい場合は下記コマンドでできます。
git clone https://github.com/xxxxxx/gittest.git
ローカルにブランチ作成
develop ブランチを作成してみます。
git branch develop
このコマンドはブランチを作成するだけで現在のブランチに切り替えはしていません。
現在のブランチは git branch で確認できます。
ブランチ切り替え
作成した develop ブランチに切り替えてみます。
git checkout develop
ブランチの作成と切り替えを同時に行うこともできます。
git checkout -b develop
変更の確認
test.txtに追記、test2.txtを追加をして確認してみます。
echo test >> test.txt echo test > test2.txt git add test.txt git add test2.txt git status
ファイルを変更した場合も git add が必要です。
git status で変更ファイルを確認できます。
コミットの取り消し
変更ファイルのコミットが漏れていたり、誤ってコミットしたりした場合などコミットを取り消したい場合は直前のコミットに戻すことができます。
git commit -m "second commit" git reset --soft HEAD^
–soft で変更内容は保持したままコミットだけを取り消します。
–hard にした場合はコミットを取り消した上に変更内容も破棄します。
ローカルブランチをリモートにプッシュ
ローカルブランチのコミットをリモートにプッシュします。
git commit -m "second commit" git push -u origin develop
ブランチの確認
git branch -a -a をつけることでリモートも含め全てのブランチが確認できます。 <h3>ブランチをマージ</h3> develop ブランチの変更を master にマージします。 git checkout master git merge --no-ff origin/develop git push -u origin master
まずマージ先のブランチに切り替えます。
git merge で変更を行なったマージ元ブランチを指定します。
–no-ff でマージコミットを作成します。
リモートの変更の取得
ローカルリポジトリが古く、リモートリポジトリに変更が入っている場合は取り込みます。
git fetch git merge origin/master
または下記も同じです。
git pull
変更を待避する
一時的に変更を待避します。
echo test >> test.txt git stash save
待避した変更の一覧を取得
git stash list
待避した変更を戻す
git stash apply 0
待避した変更の一覧からstash0を戻します。
ファイルを削除
git rm -f test2.txt
ファイルをリネーム
test.txt を test3.txt にリネームしてみます。
git mv test.txt test3.txt
他にもありますが、この辺りができればひとまずは使えそうです。