Gitをターミナルのコマンドラインで使ってみたいと思います。
Xcodeをインストールしていない、もしくは最新版をインストールしたい場合などはこちらのページを参考にインストールしてみてください。
ローカルPCのみで触ってみる
1.リモート(共有)リポジトリを作成してみる
リモートリポジトリとはプロジェクトで共同作業を行うためにサーバーやインターネットに存在するリポジトリです。
ここに対してみんながpushしたりpullしていきます。
そのリポジトリをローカルPCに作成して、そのリポジトリに対して操作していきます。
とりあえず git_test.git/ というフォルダを作成します。
(共有リポジトリは慣例的に .git をつけるようです)
そのフォルダ以下に共有リポジトリを作成します。
$ mkdir git_test.git $ cd git_test.git/ $ ls
$ git init --bare --shared Initialized empty shared Git repository in /Users/takezoh/Documents/product/git_test.git/
$ ls HEAD description info refs config hooks objects
これで共有リポジトリが作成できました。
2.クローンしてみる
任意のフォルダに作業用のフォルダを用意します。
今回は git_work というフォルダを作成して、
そのフォルに共有リポジトリをクローンしてみます。
git clone に続いて先程作成した共有リポジトリのパスを指定します。
次に作成するディレクトリを指定します。
これを省略すると共有リポジトリの git_test/ という名前のディレクトリが生成されます。
今回は同名ですが作成するディレクトリを指定してクローンを行いました。
$ git clone /Users/takezoh/Documents/product/git_test.git/ ./git_test Cloning into './git_test'... warning: You appear to have cloned an empty repository. done.
git_test/ というディレクトリが作成されました。
$ ls git_test
作成したディレクトに移動してディレクト中身を確認すると .git が作成されていることが確認できます。
$ cd git_test/ $ ls -a . .. .git
リポジトリの状態を確認してみます。
$ git status On branch master No commits yet nothing to commit (create/copy files and use "git add" to track)
マスターブランチで何もコミットされていない事が確認できました。
3.クローンした作業リポジトリにaddしてみる
コミットするファイルを用意します。
とりあえず test.txt というファイルを用意します。
中身はなんでもよいです。
作業リポジトリに add します。
$ git add test.txt
add した状態を確認してみます。
$ git status On branch master No commits yet Changes to be committed: (use "git rm --cached <file>..." to unstage) new file: test.txt
4.作業リポジトリにcommitしてみる
addした状態が確認できたのでcommitしてみます。
$ git commit -m 'コミットのテスト' [master (root-commit) 785805a] コミットのテスト Committer: XXXXXX <xxxx@xxxxxx.local> Your name and email address were configured automatically based on your username and hostname. Please check that they are accurate. You can suppress this message by setting them explicitly. Run the following command and follow the instructions in your editor to edit your configuration file: git config --global --edit After doing this, you may fix the identity used for this commit with: git commit --amend --reset-author 1 file changed, 1 insertion(+) create mode 100644 test.txt
名前とe-mailアドレスが設定されてないよといった内容の警告が出ていますが、とりあえずcommitはできました。
5.commitした履歴を確認してみる
$ git log commit 785805aacfaf06dc8df87143283af5385de1a6e4 (HEAD -> master) Author: XXXXXX <xxxx@xxxxxx.local> Date: Thu Nov 15 07:18:29 2018 +0900 コミットのテスト
先程のコミットの内容が確認できました。
このコミットはまだ作業リポジトリです。
このまま作業リポジトリにコミットしていくことも可能です。
この場合、チームなど作業を行なっている時にリモート(共有)リポジトリを汚すことなくコミットを行うことができます。
6.共有リポジトリにpushしてみる
リポジトリの一覧を確認してみましょう。
$ git remote origin
詳細を見るときは -v を付けます。
$ git remote -v origin /Users/takezoh/Documents/product/git_test.git/ (fetch) origin /Users/takezoh/Documents/product/git_test.git/ (push)
originのリポジトリに push してみます。
$ git push origin Counting objects: 3, done. Writing objects: 100% (3/3), 267 bytes | 267.00 KiB/s, done. Total 3 (delta 0), reused 0 (delta 0) To /Users/takezoh/Documents/product/git_test.git/ * [new branch] master -> master
無事に push されました。
pull してみましょう。
$ git pull origin Already up to date.
update済みとなっています。
ログも確認してみます。
$ git log origin/master commit 785805aacfaf06dc8df87143283af5385de1a6e4 (HEAD -> master, origin/master) Author: XXXXXX <xxxx@xxxxxx.local> Date: Thu Nov 15 07:18:29 2018 +0900 コミットのテスト
これでリモートリポジトリに対してpushすることが出来ました。