準備するもの
・Ubuntuサーバー
・root権限
今日の課題
Gitは世界のどこのデベロッパーでも使っておきたいバージョンコントロールシステムのことです。
Gitを使ってコードをブランチに分けたり、前のバージョンに戻ったりできるプログラマーの親友です。
今日はGitを使ってサーバーに上げたリポジトリを更新する作業を行います。
サーバーにSSH接続
まずはサーバーにSSH接続しましょう。
私のお気に入りのSSHクライアントはmobaXtermです。他に自分で使っているのがあればそれで構いません。
では、サーバーには入れたらgitをインストールしましょう。
sudo apt install git-all
y/nで聞かれたらyesのy、でエンター。
ではgitをinit(イニシャライズ)したいファイルパスに行き、下記のコマンドを実行します。
.git前の名前は何でもいいです。
git init --bare github-hook.git
post-receive Hookを追加
Initした後に作成されたファイルを見てみましょう。
ではこの中のhooksに移動します。
ここではpost-receiveファイルを作成します。
nano post-receive
git --work-tree=/home/djangoboy/backendAPI/ --git-dir=/home/github-hook.git/ checkout -f
git –work-tree=/pushしたいディレクトリ/ –git-dir=/Gitの場所/ checkout -f
post-receiveを実行ファイルにする
さっき作成したpost-receieveファイルをexcecutableのファイルにします。
これがないとうまくいきません。
chmod +x post-receive 権限をみたい場合は ls -all
ローカルサーバーでpushの行先を設定
git remote のコマンドでどこにpushするか教えてあげます。
これでローカルのPCで更新したコードをサーバーにpushできるようにします。
git remote add live ssh://root@104.248.231.241/var/repo/myproject.git 例2:git remote add live ssh://root@172.104.81.42/home/dan/ticketapi/github-hook.git
Liveの部分は名称なのでdeoployとかprod(プロダクションの略)とかに変えてもOKです。
でsshの次にサーバーのIPから、pushするパスまでを書きます。
git remote add live ssh://root@172.105.192.111/home/github-hook.git
Push!
git push live master git push live
おまけ
現在の接続先をみたい場合
git remote -v