Git関係での困ったこととその対処方のメモ。
うっかり詰まったり日々戦っている。
※逐一更新項目。
『fatal: Unable to create '~/.git/index.lock': File exists.』で何も動かぬ
なんと『index.lock』を消すだけ!
なんという力技だろう…
pullも切り替えもできなく、正直焦った…
最後にコミットしたあの頃に戻りたい…
切り替えて戻して、差分をあーだこーだ色々やってしまったり、なにかもう戻したいとき
git reflog
と打ち込むと
d3efbcd HEAD@{0}: pull -v --no-rebase --progress origin: Fast-forward 7fb59c2 HEAD@{1}: pull: Fast-forward 18826a3 HEAD@{2}: clone: from https://github.com/~.git 16ace8b HEAD@{3}: commit: 助けてパトラッシュ
と出てくるので、戻したい場所に向かって呼び出す。
下記は仮として3番を呼び出した例。
git reset --hard HEAD@{3}
Gitを外部のサーバに置きたい
Gitホスティングサービスを使うのです。
基本的に無料で使える。
無料でもプライベートリポジトリを使うことも出来るものもあり、とてもありがたい。
- GitHub:誰もが知る有名所。上げとくと評価されるし転職に有利かも。日本語非対応だが、勘で使えるので気にならない。
- Bitbucket:日本語対応。個人的にはGithubより使いやすい。
- GitLab:日本語対応。結構有名所。
- Visual Studio Team Services:日本語対応。Microsoft製だから安心かも。
- Assembla:svnも対応。
- Phacility:svnも対応。
他にもDropboxやGoogleドライブに、Gitファイルを置いて使う方法もあるけど、割と管理が面倒くさいから借りたらいいと思う。
Windows 10のGitツール、ログイン問題
今回はTortoiseGitで起きた問題ではあるが、GIT Extensions等他のツールでも起きうる。
どちらにしても『Windows 10のTortoiseGitにて、ログイン失敗問題各種と解決方法』で解決が可能。
Git PR(プルリクエスト)からDiff対象外として指定
『.gitattributes』ファイルを作成することで対応可能。
その設定方法については『Githubにて、表示される言語情報を、自分で指定する方法』を参照ください。
Git更新対象外を設定する『.gitignore』
プロジェクトや使うOSS次第では、UPしたくないファイルが出てくる。
そんなときはGit更新対象外設定ファイル『.gitignore』を作る。
個人的には下記くらい。あくまで参照程度に…。
リポジトリ管理対象に出来ない
TortoiseGitで、何度管理対象にしようとも、管理対象になってくれない。
そういうときはGITのcacheの可能性がある。奴は残すのだ、キャッシュ。
コマンドで下記を実行する。
git rm -r --cached . git add . git commit -m ".gitignore is now working" git push origin master
ただ、これをやると、現在ディレクトリにあるものはUPされてしまう。
なので『.gitignore』や『.gitattributes』で対象を制限してから実行することをオススメする。
参照:.gitignore の設定を反映させる - Qiita
コメント