#前提
次のような方を対象に想定して書きました。
- 個人だけで開発する(Branchを複数作らない)
- Githubに自分のリモートリポジトリを持っている
- cmdかGit Bashでgitコマンドが実行できる状態
- Gitに関して詳しい情報や深い話はとりあえず後回しで良い
基本的にコマンド表記と箇条書きでしか記載しません。
ほぼ私の備忘録なので非常に粗野ですがよかったら参考にしてください!
#コマンド
##①ローカルリポジトリを初期化する
$ git init
- カレントディレクトリをローカルリポジトリとして登録します。
- このコマンドを実行する前に存在したファイルがある場合はそれら新規ファイルとして扱われてます。
- すでにリモートリポジトリを登録している場合には③を先にやっても問題ないです。
##②ローカルリポジトリとリモートリポジトリを繋げる
$ git remote add origin https://github.com/username/repository.git
- 上の例で
username
の部分は自分のユーザー名、repository
の部分はリモートリポジトリの名前を書いてください。 - ここまででリモートリポジトリに上げることは完了です。
##③ローカルリポジトリの変更をリモートリポジトリに上げる
###変更した全部の内容をコミットとしてまとめる場合
$ git add .
###ファイルやフォルダに分けてコミットを作りたい場合
$ git add fileA.txt
###2つや3つののファイルやフォルダをまとめたい場合
$ git add fileA.txt folderX ./folderY/fileB.txt
この例は次の3つをまとめてコミットを作っています。
- ローカルリポジトリのフォルダ内にあるfileA.txt
- 同じくローカルリポジトリのフォルダ内にあるfolderX
- ローカルリポジトリの1つ下の階層にあるfolderYの更に下にあるfileB.txt
##④コミットを作る
$ git commit -m 'add new file'
- 上のコマンドの
add new file
は変更内容に関するメッセージです。 - 自分の好きな文章で大丈夫です。
- 一言で書けるのが望ましいようです。
- 一応下の例のように日本語で書いても大丈夫みたいです。
$ git commit -m '新規ファイルを追加'
##⑤ローカルで作ったコミットをリモートリポジトリに上げる
$ git push origin main
- 上の例で`origin`の部分は追加したリモートの名前を書いてください。`main`の部分はbranch名を書いてください。
- branch名については個人で開発する範囲ならば、基本的には`main`だけだと思います。
- ネットに繋がっていないなどの障害がなればパスワードの入力が要求されます。
- 入力で来たらEnterキーを押します。
- 入力している文字は表示されませんが、入力されているし間違っていたら再度入力要求してくれるの安心してください。
- ここまででリモートリポジトリに上げることは完了です。
- 単にバージョン管理をしたいだけという場合は、最初だけ①をやって②から④を繰り返せばOKです。
##⑥リモートリポジトリをローカルリポジトリとして取ってくる
$ git clone https://github.com/username/repository.git
- 上の例で`username`の部分は自分のユーザー名、`repository`の部分はリモートリポジトリの名前を書いてください。
- ここまででリモートリポジトリをローカルリポジトリへ取ってくることは完了です。
- 取ってきたリモートリポジトリはリモートリポジトリ名が付いたフォルダとして保存されます。
- 今まで開発用に使っていなかったPCにリモートリポジトリを取り込むときなどに使います。
- 取り込んだ後は②から④を繰り返すことができます。
##⑦リモートリポジトリの変更内容をローカルリポジトリに取ってくる
$ git pull origin main
- 上の例で`origin`の部分は追加したリモートの名前を書いてください。`main`の部分はbranch名を書いてください。
- branch名については個人で開発する範囲ならば、基本的には`main`だけだと思います。
- ネットに繋がっていないなどの障害がなればパスワードの入力が要求されます。入力で来たらEnterキーを押します。
- 入力している文字は表示されませんが、入力されているし間違っていたら再度入力要求してくれるの安心してください。
- 別のPCで加えて変更を取り込むときなどに使います。
- このコマンドを打った後は②から④を繰り返すことができます。
##番外①:リモートリポジトリでローカルリポジトリを上書きする
$ git fetch origin main
$ git reset --hard origin/main
- 強制で上書きされます.
##番外②:ローカルリポジトリでリモートリポジトリを上書きする
$ git push -f origin main
- これも強制で上書きできます.
- リモートリポジトリを作る時にREADME.mdも一緒に作成してたりすると「pushの前にfetchしてください」ってエラーが出ると思います.
- 私はよくやりがちなので結構-fオプションのpushはよくやります.