- 投稿日:2021-03-01T17:47:27+09:00
git を使った後にファイルが消えたときの対処法
概要
ブランチからmasterブランチへ移動できていない状況で add、 commit、 push、 出現したエラーの対処などをして、その後エディタを開いたらファイルが1週間前の状態に戻っているように見えました。
対処法
git reflog
を実行してcommitした履歴、resetした履歴、pullした履歴などを表示して状況を確認します。
新しい履歴が上から順に表示されます。$ git reflog 66d7034 (origin/master, master) HEAD@{1}: commit: update file 6cb041e HEAD@{2}: commit: update file 33162bd HEAD@{4}: commit: add new file 56d4f81 HEAD@{5}: checkout: moving from 56d4f81 HEAD@{6}: checkout: moving from master to origin/maste戻りたい履歴の番号を把握して、
git checkout 戻りたい履歴の番号
を実行します。
例えば今回は6cb041e
まで戻したいので以下のように実行しました。$ git checkout 6cb041e
- 投稿日:2021-03-01T16:48:26+09:00
Gitで過去の全てのコミットのAuthor情報を変更
自環境以外の環境で開発作業をしていてGitにコミットする時はAuthor情報を自分の情報に直して1からコミットするのが正しいやり方ですが、うっかり直し忘れてコミットをしてしまった後に気付いた場合、1つだけなら
git commit --amend --author="Auter's Name<author@email.com>"
で修正出来ますが、修正箇所が多数の場合は以下の様にします。git filter-branch -f --env-filter "GIT_AUTHOR_NAME='new_user_name'; GIT_AUTHOR_EMAIL='new_email'; GIT_COMMITTER_NAME='old_user_name'; GIT_COMMITTER_EMAIL='old_email';" HEAD
old_user_name
がnew_user_name
に、old_email
がnew_email
に書き換わります。Reference
git config --local user.name="User Name"
,git config --local user.email="user@email.com"
で作業リポジトリ限定でユーザー情報を自分の情報に変更出来ます。 ↩
- 投稿日:2021-03-01T10:10:04+09:00
GitHub ブランチ関連のコマンド
概要
先日、GitHubを使用して、アプリケーション開発を行ったところ、様々なコマンドを実行しました。
その中でも、今回は、実際に使用したブランチ関連のコマンドを紹介したいと思います。目次
- 事前知識
- ブランチの一覧を表示する
- 新しくブランチを作成する
- 作業ブランチの移動
- 新しくブランチを作成して、そのブランチに移動する
- ブランチ名を変更する
- ブランチを削除する
- 最後に...
事前知識
ブランチとは、作業履歴を分岐して、記録していく為のものです。
分岐したブランチは他のブランチの影響を受けないため、同じリポジトリ中で複数の変更を同時に進めていくことができます。
また、分岐したブランチは他のブランチと統合(マージ)することで、一つのブランチにまとめ直すことが出来ます。ブランチの一覧を表示する
下記のコマンド実行する事により、ローカルブランチの一覧が表示されます。
$ git branch補足
・ブランチ名の頭に「*」がついているブランチ名が、現在自身がいるブランチ。
・リモートブランチの一覧を表示する : $ git branch -r
・リモートブランチを含んだ、ブランチの一覧を表示する : $ git branch -a新しくブランチを作成する
下記のコマンド実行する事により、新しくブランチを作成する事が出来ます。
$ git branch 作成するブランチ名作業ブランチの移動
下記のコマンド実行する事により、作業ブランチを移動する事が出来ます。
$ git checkout 移動したい先のブランチ名新しくブランチを作成して、そのブランチに移動する
下記のコマンド実行する事により、新しくブランチを作成して、移動する事が出来ます。
$ git checkout -b 作成するブランチ名ブランチ名を変更する
下記のコマンド実行する事により、ブランチ名の変更を行う事が出来ます。
$ git branch -m 古いブランチ名 新しいブランチ名補足
・現在いるブランチのブランチ名を変更する : $ git branch -m 新しいブランチ名ブランチを削除する
下記のコマンド実行する事により、マージの状態に関わらず、指定したブランチを削除する事が出来ます。
$ git branch -D ブランチ名最後に...
今回は、実際に使用したブランチ関連のコマンドを紹介しました。
最後まで、読んでいただきありがとうございました。
- 投稿日:2021-03-01T09:30:45+09:00
gitで別のアカウントにpush/pullしたい場合
普段使わないリポジトリへのアクセスが必要になった際、複数githubアカウントの管理が必要になりそうだったのでメモ。
仕事用と個人用など頻繁に切り替える必要がある方は下記の記事を参考することを推奨します。
複数のgitアカウントを使用する場合今回は、「1つのリポジトリのみ適用したい」という方向けな気がします。
変更すべき場所の確認
コマンド$ cd .git/config $ cat config [core] ・・・ [remote "origin"] url = https://github.com/[ユーザー名]/[リポジトリ名].git # 変更箇所 fetch = +refs/heads/*:refs/remotes/origin/* [branch "main"] ・・・remoteのurlを変更
コマンド$ git remote set-url origin https://[ユーザー名]:[パスワード]@github.com/[ユーザー名]/[リポジトリ名].git
localを設定
これを設定しておかないと、コミット履歴にglobalで設定してあるアカウントが適用される。
sh:
$ git config --local user.name "[ユーザー名]"
$ git config --local user.email "[メールアドレス]"