Gitの覚え書き
GitHubにJupyter Notebookを簡単にアップロードできるかと思っていたら、世の中そう簡単にはいかないものですね。 Gitというバージョン管理アプリケーションを導入しないといけないことに加えて、操作や概念が分かりにくく、非常に取っ付きにくい。 私は、まずは、Udemyの無料講座 Udemy:はじめてのGitとGitHubにお世話になりました。その他、 概念については、こちらが非常に良くまとまっているかと思いますので、参考にしてください。
以下に、Gitでよく使う操作について、自分の覚え書きとして簡単にまとめました。
Gitリポジトリの新規設定
$ git init
この「git init」コマンドはGitリポジトリを新たに設定するコマンドです。カレントディレクトリをGitリポジトリに変換します。
ファイルの作成/変更/削除をGitのインデックスに追加
$ git add filename.txt
Gitでは、Gitの管理下に置かれた、みなさんが実際に作業をしているディレクトリのことを ワークツリーと呼びます。
そして、Gitではリポジトリとワークツリーの間にはインデックスというものが存在しています。インデックスとは、リポジトリにコミットする準備をするための場所のことです。
サルでもわかるGit入門
このgit add
コマンドは、作成/変更/削除したファイルを、コミットする前にこのインデックスに登録するものです。
変更結果をローカルリポジトリにコミット
$ git commit -m "add new file"
次に、git commit
コマンドを用いてインデックスに追加されたファイルをコミットします。
コミットとは、ファイルやディレクトリの追加や変更をリポジトリに記録する操作のことです。
ファイルの状況を確認
$ git status
このコマンドにより、ワークツリーやインデックスの状態について表示することができます。
リモートリポジトリの追加/削除
$ git remote add origin https://github.com//repositoryname.git
リモートリポジトリの追加は、上記のように追加したいリポジトリを指定し、コマンドを実行するだけです。
既に、リモートリポジトリを追加している場合には、fatal: remote origin already exists.
とTerminalに表示されます。
$ git remote rm origin
逆にこのコマンドを入力すれば、リモートリポジトリを削除できます。ただし、ローカルリポジトリのディレクトリを既に削除してしまっている場合は、GitHubのリモートリポジトリのSettingsタブの一番下のDanger ZoneにDelete this repositoryボタンがあるので、そのボタンを押すことで削除できます。
コミットした変更をプッシュしてリモートリポジトリに反映
$ git push origin master
このコマンドにより、ローカルリポジトリの変更を、GitHub上にあるリモートリポジトリに反映させることができます。その歳に、GitHubのユーザ名とパスワードを尋ねられますので入力してください。
ユーザー名とメールアドレスについては予め以下のコマンドを実行しておくことができます。
$ git config --global user.name "username" $ git config --global user.email useremail@email.com
ワークツリー/インデックスからファイルを削除
$ git rm [--cached] filename
このコマンドにより、ワークツリー及びインデックスからファイルを削除することができます。[]内に記載のcached
はオプションで、これをつけるとインデックスのみ削除し、ファイルは残すことができます。
ディレクトリ下のファイルをまとめて削除
$ git rm -r [--cached] directryname
ディレクトリ下のファイルをまと舞えて削除したい場合には、r
オプションとともに、ディレクトリ名を指定すれば、ワークツリー及びインデックスから削除することができます。これもcached
オプションを付けることで、インデックスのみから削除することも可能です。
終わりに
参考になったでしょうか。今回の整理は以上ですが、今後も研究が必要かと思っていますので、随時更新していければと思っています。