一緒に仕事している会社さんが
自分のサーバーにSSH接続させてcloneで納品
仕様違いはbranch切るので勝手に持っていて()のStyle・・・
使い慣れると以外に便利なので自社内でも出来ないかなと調べたら
あっけなくできたんですが、やり方絶対忘れるので自分メモ
操作はwindowsで、とりあえずの動作説明なので
ローカルのPCのCドライブDドライブで操作を行います。
git初心者向けの項目もあるのでgitがわかる方は
適時読み飛ばしてください
#1.リモートリポジトリ作成
まず 「d:\test」というフォルダにリモートリポジトリ「try.git」を作成します
(cloneするときに「***.git」ってファイルなのかな?と思ってたけどフォルダという事が今回判明
ちなみにリモートリポジトリのフォルダに「.git」つけるのは作法らしい・・・)
$ d:
$ cd test
$ mkdir try.git
$ cd try.git
$ git --bare init --shared
こんなコメントが(多分出ると思うので)出たら成功
Initialized empty shared Git repository in D:/test/try.git/
上4行はまあいいとして
問題は5行目!
git initに何やらオプションが・・・
一応解説
–bare:作業ファイルをもたないpushされるための専用のリポジトリを作成
–share:このリポジトリを共有可能にする。これがないとpushしてもファイルを作成できないらしい・・・
dirとかlsとかで「try.git」フォルダ内にファイルが出来ていれば成功です。
意外にちょろいです。
#2-1.ローカルにクローンを作成する場合
c:\に「tmp」というフォルダを作ってそこに先ほどのリモートリポジトリをクローンします
$ c:
$ cd tmp
$ git clone d:\test\try.git
成功するとこんなコメントが
warningとかドキッとするのでやめてください()
Cloning into 'try'...
warning: You appear to have cloned an empty repository.
done.
リモート先の確認
$ cd \try
$ git remote -v
問題ないことを確認
origin d:\test\try.git (fetch)
origin d:\test\try.git (push)
空のコミットをしたほうが良いらしいので実行をします
★参考 @NorsteinBekklerさん
:Gitの最初のコミットは空コミットにしよう
$ git commit --allow-empty -m "first commit"
あとは適当にファイルを作って、普通に操作します
ここから先はNOOB用の参考です。
gitが操作できる方は読み飛ばしてください
とりあえず「test.txt」というファイルを新規に作って中身は「master」とでもしておいてください。
作成したら
$ git add .
$ git commit -m "適当なコメント"
下記みたいなコメントが出たら成功
今回はコメントは「initial addition」
[master (root-commit) 3fbb23f] initial addition
1 file changed, 1 insertion(+)
create mode 100644 text.txt
先ほどのリモートリポジトリにpushします。
$ git push origin master
下記みたいなコメントが出たら成功
Counting objects: 3, done.
Writing objects: 100% (3/3), 218 bytes | 218.00 KiB/s, done.
Total 3 (delta 0), reused 0 (delta 0)
Unpacking objects: 100% (3/3), done.
To d:\test\try.git
* [new branch] master -> master
#2-2.既存のフォルダをリモートリポジトリに追加する場合
「d:\test」というフォルダにリモートリポジトリ「try2.git」があり
既存のファイルがあるディレクトリ(c:\tmp\try2)を「try2.git」にリンクさせます。
やっている事は
初期化->空のコミット->にリモートリポジトリのリンクを追加です。
$ cd c:
$ cd \tmp\try2
$ git init
$ git commit --allow-empty -m "first commit"
$ git remote add origin d:\test\try2.git
リンクできているか確認します。
$ git remote -v
リンク先が表示されますので問題ないことを確認
origin d:\test\try2.git (fetch)
origin d:\test\try2.git (push)
リモートリポジトリの場所が登録されただけなので
中身を潜影蛇手()します。
さっきと同じなので説明はなしで
$ git add .
$ git commit -m "initial addition"
$ git push origin master
ここまで書きましたが、2-1の操作ってあまりやらなさそうなので
2-2の操作だけ書けばよかった気が・・・
次回は他のPCにリモートリポジトリを配置してそこから操作する方法を書く予定です。