2017-01-19 5 views
0

私は、そのプログラムのために唯一読み込まれたsvnユーザを使っていくつかのreposからいくつかのソースコードをダウンロードするプログラムを持つリモートマシンを持っています。今やって人間の相互作用なしのsvnと協力して、このように考えて:gitコマンドを人間の介入なしで使用するには?

行うチェックアウト:

p = Runtime.getRuntime().exec("svn checkout --non-interactive --trust-server-cert --username "+Constants.svnUser+" --password "+Constants.svnPassword+" "+repositoryURL+" ." , null , dir); 

更新コード:

p = Runtime.getRuntime().exec("svn update --non-interactive --trust-server-cert --username "+Constants.svnUser+" --password "+Constants.svnPassword+" ", null , dir); 

それは完璧に動作しますが、今、私はソースをダウンロードしようとしていますGitリポジトリのコードを読み込み専用のgitユーザを使って作成すると、gitで同じ非対話型の動作を行う方法が見つけられません。

gitリポジトリ、gitユーザとgitパスワード、gitを起動してクローンを作成する方法、チェックアウトする方法、人為的なやり取りなしにソースコードを取得する方法を教えてください。

これらの3つの項目を与える方法についての情報はありません。

ありがとうございます。

答えて

0

Gitコマンドには--non-interactiveスイッチがありません。対話型の方法でコマンドを呼び出さないといけません。このe。 g。 git pullを使用しないことを意味します。これは、構成とパラメータに応じてmergeまたはとなるため、手動で解決する必要がある競合が発生する可能性があります。その代わりにgit fetchを使用し、次に作業ツリーをリモコンから来るもの(例えばgit reset --hard master origin/masterなど)で置き換えるコマンドを使用する必要があります。

実際に使用するコマンドについては、http://gitolite.com/deploy.htmlからいくつかの参考になるかもしれません。

+0

いつ私のプログラムは人間の介入なしにgitにパスワードを渡しますか? – NullPointerException

+0

ユーザー名/パスワードの代わりに認証にSSHキーを使用することをお勧めします。 – Vampire

+0

okですが、ユーザー名とパスワードでどのように達成するのですか? btwあなたはsshでそれを行う方法の良いサンプルやチュートリアルを持っていますか?私はその経験を持っていません – NullPointerException

関連する問題