はじめに チーム内の共有ブランチから自分の作業ブランチを切って作業していた際、 コミットコメントを打ち間違えてしまったのでコメントを修正します。 コミットの履歴の改変になるので作業は注意をしながら行います。 また、共有ブランチでは行わないようにしてください。 コミットをやり直す方法 使用するコマンド git commit --amend 直前にしたコミットをやり直します。 前回のコミットにファイルの追加を行ったり、コミットコメントの変更を行ったりできます。 使用例 たとえば以下のようなコミットがあったとします。 commit xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx Author: xxxx <xxxx@xxxx.com> Date: Wed Aug 26 12:57:24 2015 +0900 Added text1.txt A sample/text1
同じ内容のエントリはたくさんありますが、CLIを使うものが多いので、 社内向けにSourcetreeでの基本commandの操作方法をまとめました。 前提 共有しているリモートリポジトリに既にPushしたCommitを変更するとおかしなことになるのでPush前に!というのが大原則になります。 プッシュする前 直前のCommitだけを修正する場合: amend Commitを消したい場合: reset 古いCommitを修正する場合: rebase プッシュした後 Commitをなかったことにしたい: revert Push後にはamend/reset/rebaseしちゃダメ! (amend)コミットメッセージを書き直したい時 直前のコミットは、コミットした後に再度コミットボタンを押し、下記のように「最新のコミットを修正」を選択する。 (rebase)古いコミットを書き直したい場合 直したい
Linuxカーネルをmakeすると、バージョンに+ (プラス) が付いたり付かなかったりします。これが厄介でならないので、なんとかやめさせられないか調べてみました。 結論から言うと、コードをGitで管理していて、かつdirtyな (コミットされていない変更が作業ディレクトリに存在する) 状態の場合に+が付きます。無効化するconfigはありません。私は参考のリンク先にあるようにscripts/setlocalversionの該当する処理をコメントアウトしてしまいましたが、あまりよいことをしている感じはしないので、実践するかどうかの判断は読者のみなさんにお任せします。 # scm version string if not at a tagged commit if test "$CONFIG_LOCALVERSION_AUTO" = "y"; then # full scm version
git logに`--`セパレータを利用すれば可能です。 あー、もう削除しちゃっているけどログを確認したいな、という時にぜひ。 $ git log -- <path>ドキュメントには以下のように記載されていました。 git-log(1) [--] <path>… Show only commits that are enough to explain how the files that match the specified paths came to be. See History Simplification below for details and other simplification modes. Paths may need to be prefixed with ‘`-- '’ to separate them from options or the revision
ローカルリポジトリーを git filter-branch 実行前に戻す。 local:$ git reset --hard HEAD^2 リモートリポジトリーにログインして receive.denyNonFastForwards を false に設定する。 remote:$ git config receive.denyNonFastForwards false ローカルリポジトリーから強制プッシュする。 local:$ git push -f リモートリポジトリーの receive.denyNonFastForwards false を true に戻す。 remote:$ git config receive.denyNonFastForwards true 以上
git push時に表示されるwarning: `push.default is unset...`の意味と解決方法Git $ g push warning: push.default is unset; its implicit value is changing in Git 2.0 from 'matching' to 'simple'. To squelch this message and maintain the current behavior after the default changes, use: git config --global push.default matching To squelch this message and adopt the new behavior now, use: git config --global push.default
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く