上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

[Git] resetコマンドで一つ前のコミットだけを取り消す。変更内容はそのまま。

Gitでコミットをした直後にやっぱり取り消したいということが稀にある。
ただ、取り消したいのはコミットしたことだけで変更自体は取り消したくないというとき、
そんなときは、resetコマンドでできる。

git reset --soft HEAD^

これで、コミットログだけ取り消せる(コードの変更内容はそのまま)。

使い方が正しいのか、個人的には、わからないがコミットログを変更したい場合にも使用してしまっている。。。

直前以外を取り消したい場合は "HEAD^" を変更すればOK。

[Git] rebaseコマンド

複数メンバーで開発していると、よくブランチで作業中に他のメンバーの修正がmasterに取り込まれたりして、
作業ブランチの環境が古くなり、プルリクエストをした際にコンフリクトが起きてしまうことが屡々ある。

そんな時、作業ブランチを最新状態に更新してコンフリクトを解消してプルリクエストを出すのだが、
最新状態にする方法として、mergeとrebaseがある。

mergeの場合、余計なコミットログが残ってしまうので、個人的にはrebaseでスッキリとさせる方が好きです。

慣れれば、簡単だが以下にコマンドをメモ。

git checkout master
git pull
git checkout xxxxx
git rebase master

競合しなければ、これで完了だが、競合した場合は以下も行う。

git diff
 → 競合箇所を確認

競合箇所を修正

git add xxxxx.zzz
 → rebase時にパス付きでコンフリクトしたファイル名は表示されるので、それを指定

git rebase --continue
 → rebaseの場合は、commitではなく、continueを使用します


rebaseした後にプッシュする際は -f オプションをつけて強制プッシュにしないと失敗しますので注意。

git push -f origin xxxxx:xxxxx

[git]リモートのリポジトリから特定のブランチをcloneする

リモートリポジトリから、ローカルにcloneする場合は、

"git clone" コマンドを使用する。

ただ、以下のようにオプションしていなく単純にcloneすると master がcloneされる。


git clone https://xxxxxx/xxxxx.git


masterをcloneした後に別途ブランチをcheckoutしてもいいのですが、

誤ってmasterをプッシュしたりして事故が起こるのは少し怖い。

なので、cloneのときからブランチ指定してしまえば安心。

ブランチを指定してcloneしたい場合は以下。


git clone -b ブランチ名 https://xxxxxx/xxxxx.git






プロフィール

hiiro

Author:hiiro

最新記事
カテゴリ
月別アーカイブ
最新コメント
最新トラックバック
検索フォーム
RSSリンクの表示
リンク
ブロとも申請フォーム

この人とブロともになる

QRコード
QR
Counter
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。