質問: まずはじめに、私はデザイナー寄りのフロントエンジニア的な役回りを行っております。普段はFTPクライアントで接続してファイルのアップロード・更新を行っています。 今回は、外部ベンダーが作成したサーバーのFTPアカウントをもらおうとしたら「gitでやっているので、FTPアカウントはない」とのことでした。 ※私が直接外部ベンダーと繋がっていればもっと色々と情報が取り寄せられるのですが、外部ベンダーとのやり取りは別のディレクターが行っており、その方と外部ベンダーのやり取りが円滑ではなく、なかなか情報が取り寄せづらい状況です。。 前提が長くなりましたが、今回お伺いしたいことは、 外部ベンダーから、SSH用のホスト・ID・PASSの3点のみが届いており、 その3点の情報からgitのリモートリポリトジのファイルを更新できるかどうか?ということです。 ・デザイナー寄りの頭のため、コマンドラインの使用はできれば避けたい=GUI(TortoiseGit 等?)というようなツールでわかりやすく操作できるとベスト(希望) ・目的を達成するために、上記3点以外の情報も取り寄せる必要があるか? ということになります。 知識不足のため、チグハグな部分もあるかと思いますが、 ご助言を頂けますと幸いです。 どうぞよろしくお願いいたします。
回答: > > 外部ベンダーから、SSH用のホスト・ID・PASSの3点のみが届いており > > > 質問文を受けて色々と手法や回避策を考えましたが、 Gitを使う場合、一度はSSHで接続して初期設定を済ませない限りどうどうしようもなさそうです。 という訳でGitを一切使わない回避策を考えます。 SSHの接続情報というのはFTPのログイン情報の完全上位互換であり、 ネットワーク越しのパソコンに接続してどんなコマンドでも入力出来ると共に、 ファイルの送受信を行うことだって可能なんです。 つまり、FTPでファイルのやり取りが出来なくても、SSHでファイルのやり取りが出来るんです。 まぁ、パン(FTP)はないけどケーキ(SSH)があるから飢える事はありませんね。 SSHでファイルの送受信を行う仕組みを**SFTP**と呼びます。 対応している代表的なツールはWinSCPです。 ほら、リンク先にちゃんとFTPやSFTPに対応って書いてあるでしょ? WinSCPに限らず多くのFTPクライアントはSFTPに対応していますので、自分の今使っているソフトがSFTP対応か調べて見るのも良いと思います。 それらのソフトにはSFTPやSSHを利用する...等の設定が用意されていますので、 後はログイン情報を設定してサーバに接続すれば普通のFTPクライアントと同じ操作でファイルのアップロード・ダウンロードが出来ます。 それはそれとして、Gitも覚えましょう。 もう同じディレクトリやファイル名に`_1.html`とか`_old.html`とか、日付けを入れて管理しようなんて人間はパソコン使えないお爺ちゃんだけですよ???(煽りまくり 読んだことはありませんが、わかばちゃんと学ぶ Git使い方入門〈GitHub、Bitbucket、SourceTree〉が ターゲット層としてエンジニア以外の方も含まれているらしく、 可愛らしい絵柄のコミックスとは裏腹にとても分かりやすい良書と聞きます。 その中でSourceTreeという超有名GUIのGitクライアントを利用するそうで、 このソフトを駆使しながら自然とGitの良さを引き出せるようになるようです。 まずは一度SourceTreeでGitでのファイルのバージョン管理を試してみてください。 その上でもし「うおお、Git便利!本番環境でも使いたい!」...という風になったら、 少し面倒ですが最低限のコマンドだけ勉強してみてください。 PuttyのようなSSHクライアントで本番環境のファイルをGitを使ってDLという作業を行ってみてください。 それに成功したら、必要なコマンドはマクロに固めて保存しましょう。 そうすればショートカット1個で必要なコマンド順を自動的に発行してくれます。 そこまで行けば、普段はSourceTreeでファイルの世代管理をしつつ、本番環境に適用したくなったら、 登録済みのマクロをポチッと起動するだけで本番適用終わり、楽ちんな環境が作れますよ!