- 投稿日:2020-09-08T19:15:15+09:00
Git ブランチ名を間違えた
- 投稿日:2020-09-08T19:14:37+09:00
Git コミットメッセージを間違えた
commitメッセージ間違えた
※間違えたローカルブランチにいること
「直前の場合」
・git commit --amend -m "正しいメッセージ"「昔の場合」
・git log --oneline上のコマンドで最新のコミットを1として修正したいコミットの番号を知る
・git rebase -i HEAD~{x} //{x}は修正したいコミットの番号 ・修正したいコミットの先頭{pick}を{edit}に変更して:wq ・git commit --amend -m "正しいメッセージ" ・git rebase --continue ・git push -f origin {リモートブランチ名}
- 投稿日:2020-09-08T19:13:47+09:00
Git 新しいブランチの作成手順
- 投稿日:2020-09-08T19:12:58+09:00
git リモートから作成済のブランチをローカルに持ってくる
- 投稿日:2020-09-08T19:12:01+09:00
git プルリクしたあと不要なコミットを削除したい
- 投稿日:2020-09-08T19:10:45+09:00
git addしたあとに戻したい
- 投稿日:2020-09-08T19:09:50+09:00
コミットの履歴を確認したい時(コミットID知りたい時)
- 投稿日:2020-09-08T17:50:27+09:00
Gitでプロジェクトを複製
clone the project with Git by running:
git clone git://github.com/~
- 投稿日:2020-09-08T13:46:05+09:00
git コマンド一覧
gitコマンドの備忘録
gitのコマンドについてまとめていきたいと思います
git add
ファイルの変更をステージに保存する
・git add .
・git add ファイル名git commit
git commitは変更を記録するコマンドです
・git commit
・git commit -m "メッセージ"
・git commit -v (エディタを開いてメッセージを付ける)
※commit メッセージをする際は。。
1行目:変更内容の要約
2行目:空行
3行目:変更理由git status
現在の状態を確認するコマンド
git diff
変更差分を確認するコマンドです
・git diff
・git diff <ファイル名>
※git addした後の変更分
・git diff --stagedgit log
変更履歴を確認する
・git log一行で表示
・git log --oneline
特定のファイルの差分を表示
・git log -p test.txt
表示するコミット数を制限する
・git log -n <コミット数>
git rm
ファイルの削除を記録する
・git rm ファイル名
・git rm -r ディレクトリファイルを残す場合(gitから消す場合)
・git rm --cached ファイル名
git mv
ファイルの移動を記録する
・git mv 旧ファイル 新ファイル
~~以下同じ操作
・mv 旧ファイル 新ファイル
・git rm 旧ファイル
・git add 新ファイルローカルの内容をリモートの内容に反映させる
リモートリポジトリ(github)に新規追加する
・git remote add origin "github:url"
git push
リモートリポジトリ(github)へ送信する
・git push リモート名 ブランチ名
・git push origin mastergit alias
コマンドにエイリアスを付ける(短縮名)
・git config --global alias.ci commit
・git config --global alias.st status
・git config --global alias.br branch
・git config --global alias.co checkout
--globalはPC全体の設定をするコマンドオプション
- 投稿日:2020-09-08T09:17:36+09:00
untracked filesでのgit reset --hardの罠
要約
addした新規ファイルは
git reset --hard
によって消えるので注意.恐怖の
git reset --hard
それはある夏の日のことです.
gitリポジトリの中で,untrackedファイルを作成し,git reset --hard
を行いました.
(まだgitのリポジトリにaddもcommitもされていない新規のファイルのことを,git上ではuntracked filesと呼びます.)touch foo # 新規ファイルを作成 git status # Untracked files: # (use "git add <file>..." to include in what will be committed) # foo # nothing added to commit but untracked files present (use "git add" to track) git reset --hard # untrackedファイルには影響しないuntracked fileがある状態で
git reset --hard
をしても,それらのファイルには何の影響もありません.しかし,untracked fileをaddした状態で
git reset --hard
をすると大変なことになります(なりました).touch foo # 新規ファイルを作成 git add foo # addする git status # Changes to be committed: # (use "git restore --staged <file>..." to unstage) # new file: foo git reset --hard # addしたuntracked fileが消えるそうなんです.addしたuntracked filesが消えてしまいます.
これは,
git add
でインデックスに追加されたuntracked fileがgit reset --hard
によって,
ファイルの存在ごとリセットされてしまうことで起こります.対策:
git reset --hard
する前に上記の問題の対策として,
git reset
してからgit reset --hard
するのがよいのではと思います.
git reset
をするとインデックス登録がリセットされるため,untracked filesの状態に戻ります.
そして,git reset --hard
で変更があるファイルだけリセットされます.毎回
git reset
を打つのは面倒なので,.bashrcなどにエイリアスを登録しておきましょう.alias git reset --hard='git reset && git reset --hard'その他,良い対策方法あればご教授ください~