はじめに
これまでディレクトリ全体、git add .
とかgit add -A
ばかり使用していたので、調べました。
特定のファイルだけをGit管理するときの手順をまとめています。
今回は以下2点のファイルを管理したい場合を例にしています。
-
~/.vimrc
vimの設定ファイル -
~/.zshrc
zshの設定ファイル
この記事が役に立つ方
- 特定のファイルをGit管理したい方
この記事のメリット
- 特定のファイルだけをGit管理する方法が分かる
環境
- macOS Catalina 10.15.1
- zsh: 5.7.1
【準備】
GitHubなどでリモートリポジトリを事前に作成しておく。
※今回自分で管理したかったのは設定ファイルなので、リモートリポジトリはpublicでなく、privateにしておきました。
【手順】
1.init
cd
該当ファイルのある場所(今回はホームディレクトリ)に移動。
git init
Git管理するためにローカルリポジトリを作成。
2.add
git add .vimrc .zshrc
半角スペース区切りで複数ファイルを一度にadd
可能。
ファイル名に共通項があるのであれば、以下のようなコマンドでも問題なし。
git add .*rc
*
がワイルドカードなので、隠しファイルで末尾がrcで終わるファイルが全て対象になる。
git add -n .*rc
-n
オプションをつけると、どのファイルがadd
されるかを確認することが可能。(実際はadd
されない)
3.commit
git commit -m "first_commit"
適当なコミットメッセージをつけてローカルリポジトリに保存。
4. push
まずリモートリポジトリの設定をします。
git remote add リポジトリ名 リモートリポジトリURL
- リポジトリ名:任意で設定。
- リモートリポジトリURL:GitHubなどで事前に作成しておいたものを使用。URLをコピペする。
git push essentials master
これでpush
して完了です。
大事なファイルなのでリモートリポジトリ名は"essentials"としました。
5. 確認
git ls-files
現在Git管理されているファイル一覧が出る。
ちゃんと管理したかったファイル名が表示されていればOK。
6. 次回からのadd
git add -u
2回目からはadd
はこのコマンドで対応可能。
-u
オプションをつけるとGit管理されているファイルのみを対象としてadd
してくれる。
おわりに
最後まで読んで頂きありがとうございました
エディタはvim、シェルはzshを愛用していて、この2つの設定ファイルが一度消えて超ショックだったので、バージョン管理することにしました。
出来れば上書き保存したら勝手にgit add
→git push
されるように自動化していきたい。
Guardとシェルスクリプトとか活用すれば出来そうな感覚はあるんですが...また挑戦します。
もし実際に自動化してるよ!という方がいれば教えて頂きたいです