はじめまして。
初めてこちらで質問をさせてもらいます。
SourceTreeを使い、直接エックスサーバーに接続し、リモートレポジトリにアクセスする方法について詳解する記事をネットにて検索しましたが、現在はなさそうに見えます。
そのため、私がいろいろと試行をしたのですが、正しい設定や操作方法がわからないでいます。
ご存じの方がお見えでしたら、ご教授いただけますと幸いです。
###前提・実現したいこと
http://vdeep.net/git-push-deploy
では、エックスサーバーにてGitの環境を構築し、リモートリポジトリに手元のmac OSのパソコンからコマンド入力でgit pushする方法は載っています。
今回、コマンドではなくSourceTreeを使い、本番環境での自動デプロイまで実現したいと考えます。
###試したこと
●エックスサーバーにGitを導入する手順
http://vdeep.net/xserver-git
は、Gitの初期設定まで行いました。
Gitの初期設定は、自分の名前とメールアドレスを設定しました。
●本番環境での自動デプロイ先
/home/サーバーID/hoge.com/public_html/test
とします。
●リモートリポジトリの場所
/home/サーバーID/hoge.com/public_html/git
とします。
理由は、SourceTreeからhttpsにてリモートリポジトリにアクセスしたいためです。
●public_html/testで公開しているファイルをGitで管理の実行内容
$ cd ~/home.com/public_html/test $ git init $ git add . $ git commit -m "first commit" # On branch master # # Initial commit # nothing to commit (create/copy files and use "git add" to track)
●リモートリポジトリを作成
$ cd ~/hoge.com/public_html/git $ git clone --bare --shared ~/hoge.com/public_html/test test.git warning: You appear to have cloned an empty repository. done.
●post-receiveの作成
$ cd test.git/hooks $ vi post-receive
●ファイルの内容
#!/bin/bash cd ~/hoge.com/public_html/test git --git-dir=.git pull ~/hoge.com/public_html/git/test.git master
●ファイルの実行権付与
$ chmod +x post-receive
●SourceTreeのローカルレポジトリの設定
・ローカルレポジトリを開いている状態で、「設定」アイコンをクリック。
・「リモート」アイコンをクリックし、「追加」ボタンをクリック。
・リモートレポジトリの設定
リモートの名称:master
URL/パス:https://hoge.com/git/test.git
を入力して、「OK」をクリック。
・リモートリポジトリのパスに追加した項目を反転している状態で、「OK」をクリック。
###発生している問題・エラーメッセージ
上記の設定まで行った後、次のプッシュ操作をします。
●操作内容
・「プッシュ」アイコンをクリック。
・プッシュ先の選択画面にて以下を設定。
プッシュ先のリポジトリを「master」
ローカルブランチ「master」、リモートブランチ「master」となっている項目のチェックをつける。
・「OK」ボタンをクリック。
その後、リモートレポジトリにプッシュするとき、下記のエラーが出ます。
git -c diff.mnemonicprefix=false -c core.quotepath=false -c credential.helper=sourcetree push -v --tags --set-upstream master refs/heads/master:refs/heads/master Pushing to https://hoge.com/git/test.git fatal: https://hoge.com/git/test.git/info/refs not valid: is this a git repository? Completed with errors, see above
###なぜHTTPSアクセスで公開サイト上にgitを作る手段を考えたか
環境設定で、アカウント作成があります。
ホストの設定では、Bitbucket、Bitbucket Server、GitHubの3つの項目しかありません。
いずれのホストもアカウントを作らないといけません。
アカウントを作らないでエックスサーバーにgit pushする場合、上述した試行方法でやるしかないかなと至りました。
###補足情報(言語/FW/ツール等のバージョンなど)
SourceTreeのバージョン:2.5
mac OS: Sierra
です。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/04/09 13:41