「git」タグアーカイブ

git rebase –onto で解決できる 3つのシナリオ


よくある3つの困ったシナリオ

Gitを使っていると、意図せずコミット履歴が複雑になってしまうことがあります。これから紹介するのは、多くの開発者が一度は経験するであろう代表的なシナリオです。

シナリオ1: 他のフィーチャーブランチから派生してしまった

本来は最新の main ブランチから切るべき自分の作業ブランチ (my-feature) を、うっかり同僚が開発中の dev-feature から派生させてしまったケース。このままでは、Pull Requestに無関係なコミットが含まれてしまいます。

問題の状況

シナリオ2: 一つのブランチに複数の変更が混在してしまった

一つのブランチ (work-branch) で作業中、コミットCとDが実は別の機能 (new-idea) であることに気づいたケース。この2つのコミットだけを、新しいブランチとしてきれいに分離したい状況です。

問題の状況

シナリオ3: 古いブランチから新しい作業を始めてしまった

数ヶ月前に作ったまま放置していた old-feature ブランチ上で、新しい作業 (new-work) を始めてしまったケース。main ブランチはその間に大きく進んでおり、古い履歴の上に新しいコミットが乗ってしまっています。

問題の状況

これらの悩みはすべて git rebase --onto で解決できます。

続きを読む git rebase –onto で解決できる 3つのシナリオ

Gradle: Git で管理されているアプリケーションをデプロイ


Gradle を使って、 Git で管理されているアプリケーションをデプロイするスクリプトを書きました。 Gradle でなくても良かったのですが、 偶然 Gradle でやったことがあったので、 Gradle で書きました。

続きを読む Gradle: Git で管理されているアプリケーションをデプロイ

git: SSL が有効でない場合の clone


GitLab で自己証明書を使ってリポジトリを運用している場合、 サーバ証明書の有効期限が過ぎている場合に git clone を実行すると、 次のようなメッセージが表示されます。

続きを読む git: SSL が有効でない場合の clone