LoginSignup
0
0

More than 3 years have passed since last update.

Gitでコミットしてバージョン管理・バックアップするメモ

Posted at

Gitコミットして変更履歴を残す。
復元はまだやったことない。
GitHubへのプッシュは別記事。

扱いたいディレクトリへ移動

コミットしたいファイルのあるフォルダへ。

$ ls         下の階層にある、cdで移動できるディレクトリを表示
$ cd ディレクトリ名  移動

git init

初期化。Initialize.
それぞれのフォルダの中に.gitという隠しファイルを作る。
初めてそのファイルをgitで扱う時には必ず行う。
そうじゃなければ飛ばす。

$ git init
Initialized empty Git repository in /Users/ディレクトリの階層ズラズラ/.git/

git add

ファイルを選択。

$ git add ファイル名

選択できたか確認。

 $ git status
On branch master

No commits yet

Changes to be committed:
  (use "git rm --cached <file>..." to unstage)
    new file:   index.html

Untracked files:
  (use "git add <file>..." to include in what will be committed)
    ../上の階層のファイル名やディレクトリ名
    同じ階層のaddしてないファイル名やディレクトリ名

選択できてない場合

$ git status
On branch master

No commits yet

Untracked files:
  (use "git add <file>..." to include in what will be committed)
    ../上の階層のファイル名やディレクトリ名
    ./

nothing added to commit but untracked files present (use "git add" to track)

git initできてない場合

$ git status
fatal: not a git repository (or any of the parent directories): .git

git commit

変更内容や何を作ったのかコメントにつけてコミットする。
これで.gitに今のファイルの状態が保存される。

% git commit -m "トップページ作成"                                       
[master (root-commit) b4a0bf4] トップページ作成
 1 file changed, 96 insertions(+)
 create mode 100644 templates/index.html

コミット履歴を確認

commitできてるか確認

$ git log
commit コミットID (HEAD -> master)
Author: 自分の名前 <メールアドレス>
Date:   Sat May 16 01:46:18 2020 +0900

    トップページ作成

.gitのあるディレクトリ内でgit logすることで、今までにコミットした履歴を確認できる。

コミットしたものから復元

参考:[git] 戻したい時よく使っているコマンドまとめ

git logで戻りたいコミットのコミットIDを調べて

$ git reset --hard [コミットid]

直前のコミットに戻る時は

$ git reset HEAD^

resetで戻ったコミット以降のコミットたちは無くなる。

フォルダごとコミットしたけど特定のファイルだけ戻したい時は

$ git checkout [コミットid] [ファイルパス]

GitHubなどのリモート上にプッシュした後ならこうする
参考:Gitでリモートリポジトリを巻き戻す

手順

リモートに今の(間違えた)状態をバックアップしたブランチを作る
git push origin master:master_bak
リモートのmasterを削除し、ローカルを一つ戻し、リモートにプッシュ
git push -f origin HEAD^:master
分解するとこういうことしてるらしい
git push origin :master
git reset HEAD^
git push origin master
これで順調ならバックアップを削除
git push origin :master_bak

addやcommitの後はstatusやlogで確認する習慣を!

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0