gitメモ
Visual Studio 上での git 操作とコマンドの関連付け
元に戻す:git revert
リセット → 変更を保持(--mixed):git reset --mixed HEAD^
リセット → 変更を保持(--hard):git reset --hard HEAD^
"git reset --soft HEAD^" に当たるものは無い。
近いのは「リセット → 変更を保持(--mixed)」で、違いは
--mixed :ステージング状態に戻す
--soft :ステージング前に戻す
→ 「元に戻す」は戻した後の新たな履歴が追加される。履歴を変えたくないなら「リセット → 変更を保持(--mixed) 」を使う。
編集者名を一括で変更する
GitHubの履歴に公開したくないメールアドレスが載ってしまったので修正したい
- git pull をして最新をすべて取り込む
- 書き換え
git filter-branch -f --env-filter "GIT_AUTHOR_NAME='変更後名前';
GIT_AUTHOR_EMAIL='変更後メールアドレス'; GIT_COMMITTER_NAME='変更後名前'; GIT_COMMITTER_EMAIL='変更後メールアドレス';"
HEAD
- 強制push
git push --force-with-lease origin main
Git GUI のメニューには pull に相当するものがない。
ツールの追加で、自分で追加
間違えてリモートにpushしたとき
VisualStudio上でやると間違えやすい。
- 元に戻す、はrevertといって、履歴を残しつつ戻す
- リセット、は二つあるが、どちらも実行した直後に表示が反映されず、VisualStudioの再起動が必要
そのため、GitGUIを使う。
- GitGUIでローカルのフォルダを開く。
- メニューのリポジトリにある、ブランチ master の履歴を見る
- 無くしたい項目の一つ前を選んで、右クリックメニューから Reset master branch to here
- Git Bashを開く
- git push -f origin master
ローカルはそのままにリモートだけ消すことも出来る。
ローカルでgitを一から作って進めていたとする。
それをバックアップフォルダに移し、元のローカルからは変更後にpushするように変える場合。
参考
バックアップフォルダを作る。名前の末尾に.gitを付けるのが慣例
Z:\git\XXX.git
cd Z:\git\XXX.git
git init --bare
これにより、z:\git\XXX.git フォルダは、bareというフォルダになる。
bareは更新情報を持つが、ファイルそのものは見えないフォルダになる。
逆に作業しているフォルダはnon-bareと言う。
まず、作業していたローカルの作業フォルダが c:\git\XXX が今何処を見ているかを確認する。
cd c:\git\XXX
git remote -v
もし、見ている先が無いと表示されたなら
git remote add origin Z:/git/XXX.git
\は/に変える
もし、見ている先があると表示されたら
git remote set-url origin Z:/git/XXX.git
これで入れ替わったので、最後にpushする
cd c:\git\XXX
git push
Visual Studio内の表示は変わらなかったので、一旦再起動したら更新された。
動作未確認だがVisual Studio上でも変更出来るようだ。
チームエクスプローラで設定→リポジトリの設定
下部のリモートの項で、追加または編集する