社内開発ならgithubとか使わなくても、単純にファイルサーバにgitレポジトリ配置でも十分?(プルリク出来ないけど)
コマンドプロンプトで作業
ネットワークドライブにgitレポジトリをおいて共有してみた
アカウント作らなくてもいいので、実習用に良いかもしれない。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
# ネットワークドライブをzドライブに割り当てる net use z: ¥¥server01¥folder # zドライブに移動(cdを使わない。使うならdオプションが必要 cd /d z:) z: # zドライブの割当解除(そのまま使うなら不要) net use z: /delete # 適当なフォルダ作成&ファイル作成 mkdir test cd test echo hello > a.txt # git管理開始 git init git add -A git commit -m "first commit" # リモートリポジトリとして使うためにベアリポジトリにする(push時にエラーになる) git config --bool core.bare true # cドライブに戻ってきてgit cloneしてみる cd /d C:\Users\自分のユーザ名\Desktop git clone z:\\test\\.git # 適当な修正をしてコミットしてpushしてみる cd test echo byebye > b.txt git add -A git commit -m "second commit" git push # 別名でgit cloneしてみる cd ../ git clone z:\\test\\.git test2 # これでコンフリクトのテストなども出来る |
リモートリポジトリは、共有するのが前提なのでベア・リポジトリで作る
bare(裸の) repositoryは、作業ディレクトリを持たない
Non-bare(裸じゃない) repositoryは、作業ディレクトリを持っている!(こっちがデフォ)
サーバ上にあるリモートリポジトリが作業ディレクトリを持っていると、何が困るのかというと
1, pushによりコミット(スナップショット)は新しくなる
2, 作業ディレクトリは、そのままなので差分が出る。
なので、デフォではエラーになるようになっている。