質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
FTP

FTP(File Transfer Protocol)は、ネットワークでのファイル転送を行うための通信プロトコルの1つである。

Git

Gitはオープンソースの分散バージョン管理システム(DVCS)です。

SSH

SSH(Secure Shell)は、セキュアチャネルを通してデータを交換するためのネットワークプロトコルです。リモートサーバーへのコマンド実行やファイル転送を行う時に一般的に使用されます。

Q&A

解決済

4回答

1367閲覧

外部ベンダーが作成したgitのファイルを更新したい

twilightranigh

総合スコア9

FTP

FTP(File Transfer Protocol)は、ネットワークでのファイル転送を行うための通信プロトコルの1つである。

Git

Gitはオープンソースの分散バージョン管理システム(DVCS)です。

SSH

SSH(Secure Shell)は、セキュアチャネルを通してデータを交換するためのネットワークプロトコルです。リモートサーバーへのコマンド実行やファイル転送を行う時に一般的に使用されます。

1グッド

1クリップ

投稿2018/05/16 08:57

まずはじめに、私はデザイナー寄りのフロントエンジニア的な役回りを行っております。普段はFTPクライアントで接続してファイルのアップロード・更新を行っています。

今回は、外部ベンダーが作成したサーバーのFTPアカウントをもらおうとしたら「gitでやっているので、FTPアカウントはない」とのことでした。
※私が直接外部ベンダーと繋がっていればもっと色々と情報が取り寄せられるのですが、外部ベンダーとのやり取りは別のディレクターが行っており、その方と外部ベンダーのやり取りが円滑ではなく、なかなか情報が取り寄せづらい状況です。。

前提が長くなりましたが、今回お伺いしたいことは、
外部ベンダーから、SSH用のホスト・ID・PASSの3点のみが届いており、
その3点の情報からgitのリモートリポリトジのファイルを更新できるかどうか?ということです。

・デザイナー寄りの頭のため、コマンドラインの使用はできれば避けたい=GUI(TortoiseGit 等?)というようなツールでわかりやすく操作できるとベスト(希望)

・目的を達成するために、上記3点以外の情報も取り寄せる必要があるか?

ということになります。

知識不足のため、チグハグな部分もあるかと思いますが、
ご助言を頂けますと幸いです。

どうぞよろしくお願いいたします。

manzyun👍を押しています

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答4

0

ベストアンサー

外部ベンダーから、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でファイルの世代管理をしつつ、本番環境に適用したくなったら、
登録済みのマクロをポチッと起動するだけで本番適用終わり、楽ちんな環境が作れますよ!

投稿2018/05/16 10:18

編集2018/05/16 10:48
miyabi-sun

総合スコア21158

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

manzyun

2018/05/17 04:25

スレ違いでしたらすみません。 いままで経験がないので、 「パスワード認証のSSHサーバー上のGitリポジトリへのアクセス」 の仕方がわからなくて回答を見送ったのですが、 最悪「.git」ディレクトリを含めてソースのダウンロードを行なえば、いままでの履歴も持ってこれますね。
miyabi-sun

2018/05/17 04:34 編集

manzyunさんの仰るように今回の質問には曖昧な箇所があります。 もし該当のサーバにリモートリポジトリが存在し、GitPushで更新してくださいという仕組みなのであれば そもそもSSHの情報だけ渡して終わりじゃなくてリポジトリのURLも渡しているはずではないのか?と考えました。 従って、私は今回の外部ベンダーに関してWebサーバだけ作った業者であり、 「SSHの接続情報だけ渡すから、GitHubなりBitbucketと勝手に連携してください」という風に解釈して回答しました。
twilightranigh

2018/05/17 05:41

miyabi-sunさま ご丁寧に、詳細なご回答をいただき誠にありがとうございます。 質問を出した後に、TortoiseGITでも設定を進めていたのですが、外部ベンダーが設定した既存のリモートリポジトリにアクセスすることは出来ず‥でした。 miyabi-sunさんからSFTPのことを教えていただいたことにより、おかげさまで私も理解が深まりまして、 実は質問前にWin-SCPなどでSFTP接続してみていたのですが、それができない(接続エラーでました‥)ということは、外部ベンダーからもらっている情報自体に誤り(SSH用のアカウントではない??等)がある可能性が高いと思いますので(そういう判断でよろしいでしょうか‥?)、新しいSSH用のアカウントを取り寄せるなりのアクションをしてみようと思います。 現在、外部ベンダーから非常に情報が得づらい事情があり、先述のSSH用のホスト・ID・PASS以外には、ファイル管理はgitでしている模様‥という情報のみがある状況です。 おっしゃていただいた通り、gitでのファイル管理も出来るようになりたいので、使用可能なアカウントを入手した上で再度試みようと思います。 なお、完全な状況の解決に至るまでは、当質問をオープンにさせていただこうと思います。またお伺いすることもあるかと思いますがその際はお手数ですがよろしくお願いいたします。
miyabi-sun

2018/05/17 06:11

> SSH用のホスト・ID・PASS ん?…なるほど、その「SSH用のホスト」はSSH用ホストではない可能性がありますね。 `https://example/kyanny/hello.git`もしくは`[ユーザ名]@example.com:kyanny/hello.git`みたいな形式ではないですか? もしそうであれば、これはSSHのログイン情報ではなくGitの接続先のURLです。 SSHの接続情報のホスト名は`123.45.67.89`みたいなドット区切りの数字か、`example.com`みたいにドメイン部分の文字列しか存在しません。 --- 先方のベンダーさんは確かにGitでやり取りして下さいねと仰ってるようです Gitは全ての端末が全てのバージョン履歴を持つので、 初手が`git clone`コマンド、つまり「リモート環境のバージョン管理履歴を完全コピーさせて」になります。 その意識を元にTortoiseGITやSourcetree等の設定を見直してみてください。 --- Gitはログイン認証にHTTPSでのベーシック認証か、 SSHというパソコンをリモート操作する技術の認証部分とファイル送信部分だけ間借りする認証方法があります。 話を聞く限り結構ガッチリやってるベンダーさんのようですので、 回答欄で解説したSFTPで接続に関してはSSHの権限をかなり絞られてて、自分勝手なディレクトリにファイルをアップロードしたりダウンロードしたりできなくなっている可能性が高そうだとみました。 SSHとして接続してみたいのであれば、GitのURLからドメイン部だけ取り出して指定してみてください。
twilightranigh

2018/05/21 07:10

返信が大変遅くなってしまい申し訳ございません。コメントをいただきありがとうございます。 外部ベンダーからいただいている情報としては、ホストは数字とドットで構成されるIPアドレス、それのみで、それ以外にはID・PASSの計3点でした。 TortoiseGITで試したみたこととしては、上記3点の情報が入れられそうな設定箇所を探してみたところ、”プロキシサーバーの設定”という箇所だけだったので、そこに入力してみました。これで、既存のリモートリポリトジにアクセス出来、同期が出来るのでは‥ と思いましたが、思うようには行かなかった(もっと別の操作が必要??)、というのが現状でわかっていることになります。 > 回答欄で解説したSFTPで接続に関してはSSHの権限をかなり絞られてて、自分勝手なディレクトリに > ファイルをアップロードしたりダウンロードしたりできなくなっている可能性が高そうだとみました。 なるほど。そういう可能性も考えられるのですね。とてもそんな気がしています。 その後、未だに進展がなく、これは相当時間がかかってしまいそうです。 何か、他の手がないかを引き続き探してみようと思います。
twilightranigh

2018/05/21 08:35

TortoiseGITで、Gitクローンを行なうと「gitは正常に終了しませんでした (終了コード 128)」が出てしまっております。その場合の対処法がネット上にいくつかみつかりますので、で色々と試している段階です。
guest

0

投稿2018/05/16 09:31

編集2018/05/16 09:43
hichon

総合スコア5737

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

twilightranigh

2018/05/17 05:38

リンクのご共有ありがとうございます!まさにそちらのページをみながら設定を試みておりました。
guest

0

Windowsであるなら、TortoiseGITでいいとおもいますが。
SourceTreeってのも、初心者の方にはわかりやすいですかねー

投稿2018/05/16 09:50

y_waiwai

総合スコア87719

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

twilightranigh

2018/05/17 05:38

ご回答・アドバイスをいただき誠にありがとうございます!
guest

0

解決したわけではないのですが‥

友人のエンジニアさんに、「外部ベンダーから送られてきていたSSH用と聞いていたホスト・ID・PASSでSSHが接続できるかを確認するぐらいしかできることはないかもね」とアドバイスをいただき、「PuTTY」というソフトで前述のアカウントでSSH接続を試みたのですが、そこでエラーが出てしまい接続できませんでした。

とどのつまり、外部ベンダーから送られてきていたアカウント情報が間違っていたというオチでした。。それはまさか無いと思っていたので、残念です。。

‥が、しかし、今回皆さまにアドバイスをいただき、新しい知識や今まで知らなかった対処法を知ることができ大変勉強になりました。改めて感謝申し上げます、どうもありがとうございました。

投稿2018/05/28 03:45

twilightranigh

総合スコア9

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問