Gobble up pudding

プログラミングの記事がメインのブログです。

MENU

Git 備忘録

スポンサードリンク

f:id:fa11enprince:20170818063154j:plain

Gitでcommitを分割したいとき

次のコマンドでコミット番号を見る

$ git log --oneline --graph  

リベースする

$ git rebase -i 59b146c  

※上記コミット番号はあくまで例

エディットするコミットを選ぶ

下記のようなコミットメッセージが表示されるので、pickをedit(e)に変更

pick 310154e 部分的な修正1とその他ほげほげ

e 310154e 部分的な修正1とその他ほげほげ

ひとつ前のコミットでリセットする(※ここがポイント)

$ git reset HEAD^

※mixedモードでリセットするのでcommitとaddがひとつ前のコミットに戻る

git add前の状態になるので、必要な単位でgit addcommitを繰り返す

全部終わったらcontinueする

$ git rebase --continue

毎回ssh-addが消える問題

現象

$ git pull
Permission denied (publickey).
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.
$ ssh-add -l
Could not open a connection to your authentication agent.

※そもそもGitHubの公開鍵設定をしていない場合は
http://ryoichi0102.hatenablog.com/entry/2017/02/03/232920
とかを参照して下さい

とりあえずその場しのぎの処置

$ eval `ssh-agent`
$ ssh-add ~/.ssh/github_id_rsa
$ ssh-add -l

github_id_rsaのところはお使いの公開鍵に変えてください

面倒なんで.bashrcに書く方法

この辺とかあるが…うーんなんだか… 毎回手でたたくでいいかなって感じもする http://d.hatena.ne.jp/himadatanode/20160823/p14

でもイライラしてきたので.bashrcに書く

eval `ssh-agent`
ssh-add ~/.ssh/github_id_rsa

私の環境の場合はgithub_id_rsaです。適宜変えてください。

もしくはid_rsaにしておくとデフォルトでそこに読みに行くのでこのような問題は生じない…はずです。

Filename too long

これが出る場合、下記をたたく git config --system core.longpaths true ただし、管理者権限が必要な模様 なので ~/.gitconfigに

[core]
    longhpaths = true

を記述する

参考

GitHubでssh接続する手順~公開鍵・秘密鍵の生成から~ - Qiita

※httpsの方が最近はいいらしい->Windowsなら資格情報、MacならKeyChainに格納される
ssh key vs personal access token
GitHubに二段階認証を設定した後にGit操作できない時の解決策 - Qiita