20210301のGitに関する記事は4件です。

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
  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

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_namenew_user_nameに、old_emailnew_emailに書き換わります。

Reference


  1. git config --local user.name="User Name", git config --local user.email="user@email.com"で作業リポジトリ限定でユーザー情報を自分の情報に変更出来ます。 

  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

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 ブランチ名

最後に...

今回は、実際に使用したブランチ関連のコマンドを紹介しました。

最後まで、読んでいただきありがとうございました。

  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

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 "[メールアドレス]"

  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む