手順
git reset --hard コミットID
原因と対策
Eclipseのおいて、ディレクトリの直下に「.project」ファイルがあると、そのディレクトリはプロジェクト認識されるのが原因。$ cd ~/.ssh
$ssh-keygen -t rsa3回ほど質問されるが、そのままEnterでOK.
$ clip < ~/.ssh/id_rsa.pub
GitHubのマイページ→Setting→左メニューのSSH and GPG keys→New SSH keyボタン登録画面を開いたらTitleに任意の名前、「Key」にクリップボードにコピーしてあるSSH Keyを張り付ける。
$ ssh -T git@github.com「 You've successfully authenticated, but GitHub does not provide shell access.」という感じのメッセージが出たら成功。
core.autocrlf=falseについて
Gitはチェックアウトやコミット時に設定によっては勝手にソースコードの改行を変換してしまう。$ cd ~ $ git config --global core.autocrlf false設定の確認コマンド
git config --list --global
プロジェクト別で設定する場合、localを指定して設定。
$ cd プロジェクトのルートパス $ git config --local core.autocrlf false $ git config --list --local
core.autocrlfのその他設定値について
core.autocrlfのセット値 | チェックアウト時 | コミット時 |
---|---|---|
true | LFからCRLFに変換 | CRLFからLF変換 |
input | 変換せず | CRLFからLFに変換 |
false | 変換せず | 変換せず |
$ cd ~/git/animals $ echo my_tool/* >> .git/info/exclude
ディレクトリ構造
- animals ←プロジェクト - .git - info - exclude ←このファイルに管理対象外ファイルを記述する。 - my_tool - test_tool.php ←管理対象外ファイルになる - index.html
.git/info/excludeファイルの中身
# git ls-files --others --exclude-from=.git/info/exclude # Lines that start with '#' are comments. # For a project mostly in C, the following would be a good set of # exclude patterns (uncomment them if you want to use them): # *.[oa] # *~ my_tool/*
その他の記述例
$ echo test/dummy/xxx.php >> .git/info/exclude「ルート/test/dummy/xxx.php」ファイルをGit管理対象外にする。
例→nekoブランチ。
$ cd ~/git/animal $ git pullこれにより、GitHubサイト側の新しいブランチ(nekoブランチ)にチェックアウトできるようになる。
$ git checkout -b neko origin/nekoこれによりローカル側にも同じ名前のブランチが作成されるのと同時に、 新しいブランチに切り替わり、すべてのソースコードも新しいブランチのものに切り替わる。
git add 修正のファイルパス git commit -mいろはにほ git push
「Compare & pull request」ボタンが表示されていない場合
「Pull requests」リンクからもプルリクエストを発行可能。$ git checkout main $ git pull git branch -D neko