次のことを安全かつ確実に行う Git コマンド (またはコマンドの短いシーケンス) はありますか?
- ローカルの変更を取り除きます。
- 必要に応じて、オリジンから指定されたブランチを取得します
- 指定されたブランチをチェックアウトしますか?
現在、私は立ち往生しています:
git fetch -p
git stash
git stash drop
git checkout $branch
git pull
fetch
しかし、パスワードの入力を 2 回 (と で)求められるので、困っていますpull
。一般的に、パスワードが一度だけ必要になる限り、私はどんな解決策にも満足しています.
いくつかのメモ:
- これは、アプリケーションの自作のデプロイ スクリプトの一部です (コードは GitHub でホストされています)。
- ブランチがすでにオリジンからフェッチされているかどうかに違いはありません (つまり、新しいブランチの最初のデプロイでは、理想的には追加の手順は必要ありません)。
- スクリプトは、複数のユーザーがアクセスできるリモート マシン上にあるため、資格情報は保存されず、ユーザー/パスワードを入力する必要があります (ただし、可能であれば 1 回だけ)。
- ローカルの変更は気にしません。特定のブランチの元のコピーが常に必要です (デプロイ スクリプトの後半部分でローカルの変更が生成されます)。
- 毎回新しいリポジトリを複製またはエクスポートすることはできません。時間がかかりすぎます。