コマンドラインでgit操作する

開発時のバージョン管理で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

他にもありますが、この辺りができればひとまずは使えそうです。

スポンサーリンク