Windows から git server にアクセスしてなんかいろいろやる
本当はWindows上にgit serverを立てたかったけどかなり面倒っぽいので、サーバはUbuntu上に立てて、git for windows でアクセスする方法について述べる
■Windows側
https://gitforwindows.org/ をダウンロードしてインストール。
■Ubuntu側
sudo apt install git
sudo adduser git
サンプルのgitを作る
sudo su git
cd ~
sudo mkdir git
cd git
sudo mkdir test.git
sudo chown -R git:git ./test.git
cd test.git
sudo git init --bare
これでサンプルのtest.gitができたのでwindowsからアクセスしてファイルを追加していく。
Windowsで git bashを起動
★以下は最初の1回だけやっておく。
コマンドプロンプト上でも問題ないはず。
git config --global user.name "ユーザー名"
git config --global user.email "メールアドレス"
きちんと設定されたかは、
$ git config user.name
$ git config user.email
これ設定しないくても動くけどpush時とか毎回ユーザー名きかれてうざいので設定すること。
どっか任意のディレクトリに移動(mkdirも使えるので作ってもよい)
文字化け対応 .bash_profile
export GIT_PAGER="LESSCHARSET=utf-8 less"
①clone する(最初の1回だけ)
git clone ssh://ユーザ名@gitサーバアドレス/gitディレクトリ
ユーザー名はここではgit、IPはgit server(Ubuntu)のIPアドレス、gitディレクトリはホームの ~/git/test.gitなので、
git clone ssh://git@192.168.1.1/~/git/test
でtestというディレクトリができてその下が管理される。
(clone後、testというディレクトリ名は変更してもよい)
ソースコードとか管理したいやつをtestディレクトリ配下にコピーし、1個1個addしてたら気が狂うので、
git add --all
で一気に登録。
と言いたいところだけど、 node_module とか別に管理したくないやつもあるだろうから、
git add ディレクトリ
で必要なやつだけ管理する。
addしたときに、windowsからLinuxのgitサーバにaddすると、
warning: in the working copy of 'hoge.txt', LF will be replaced by CRLF the next time Git touches it
git config --global core.autoCRLF false
git statusとかでファイル名が文字化けする場合は、
$ git config --local core.quotepath false
以上!
git コマンド
git pull
最新の持ってくる。昔のを持ってくることも可能
git log
過去のcommitの履歴とか見れる。ここででてくるcommitのIDを使えばgit pull 444654bc03204b4c1f958e43a26bc154f5172ae4 みたいな感じでその時に戻せれる
(未commitのファイルがあるとあばばってなるのでそういうのない状態でやるがよろし)
git status
今の状態がみえる(addしてるかとか)
git diff
今変更してるやつの差分
git add
ファイルの追加(変更のたびに必要)
git commit -m コメント
git add したファイルをコミットする(コミットするだけでpushはしてない)
git push origin master
commitしたコードをpushする(これで確定。ほかの人からも見えるようになる)
い所う。
あとは間違ってcommitしたとかpushしたとかそのあたりどうやって戻すのか、とかいろいろあるけどまぁいいや。
以上!