igor@IgorReinCloud ~/dbhandler $ ssh [email protected]:/dbhandler/dbhandler < git pull
bash: git: No such file or directory
igor@IgorReinCloud ~/dbhandler $ git pull
remote: Counting objects: 4, done.
remote: Compressing objects: 100% (1/1), done.
remote: Total 4 (delta 3), reused 4 (delta 3), pack-reused 0
Unpacking objects: 100% (4/4), done.
From https://github.com/oneeyeman1/dbhandler
667ca95..4a93607 master -> origin/master
Updating 667ca95..4a93607
Fast-forward
libdbwindow/databasecanvas.cpp | 1 +
1 file changed, 1 insertion(+)
git pull
これは、正しく実行するために内部的に一種のスクリプトを作成する必要があることを意味しますか?それとも私が何か間違っているのでしょうか?
[編集する]
私が達成したいのは次のとおりです。
私はLinuxボックスでOSXノートブック(192.168.1.3)の1つに接続しようとしています。このMacノートブックはOSX 10.8を実行しています。最近まですべてがうまくいきましたが、GitHubはSSL 1.0をSSL 1.2またはそれに似たものに切り替えました。もちろん、OSXでリモート操作を実行しようとすると失敗します。
ただし、Linuxでこれを試してみると、Git / OpenSSLのLinuxバージョンが最新であるため、すべてが期待どおりに機能するため、git pull / fetch / push / etcを実行すると成功します。
したがって、私の究極の目標は、ローカルコンピュータ(Linux)でgit pullを実行してリモートコンピュータ(OSX)上のリポジトリを更新することです。
今、私が達成したいことが何であるかが明らかになることを願っています。
[/編集する]
答え1
<
リダイレクト演算子です文書入力として。git pull
ファイルではなくコマンドです。次のことができます。
echo "git pull" | ssh [email protected]:/dbhandler/dbhandler
または正しい方法:
ssh [email protected]:/dbhandler/dbhandler git pull
可能な通貨を見てくださいman ssh
。
ssh (...) [ユーザー@]ホスト名[コマンド]
そこにはオプションのコマンドがあります。
コマンドに追加の変更が必要ないかどうか疑問に思います。
ssh [email protected] bash -c "cd /dbhandler/dbhandler && git pull"
^コマンドを実行するときにパスがそこにあるべきではないと思います。これにより、bash -c "some-commands"
この問題を回避できます。
編集する:
git
いくつかの説明を聞いた後、MacのプロジェクトフォルダをLinuxシステムにマウントし、Macで他のすべての作業を実行している間にそれを使用するのが良い解決策のようです。次の方法を使用してこれを実行できますSSHFS
。https://www.digitalocean.com/community/tutorials/how-to-use-sshfs-to-mount-remote-file-systems-over-ssh
私が好む解決策は、SSL 1.2をサポートするようにMacのgitをアップグレードすることです。 Macがまだ更新されていない場合は、コンパイルされたバージョンを直接コンパイルしてインストールできます。
- Mac版gitプリコンパイル:https://git-scm.com/download/mac
- ソースコード:https://github.com/git/git/