2011-12-14 5 views
2

からレポにプッシュすることができる方法:Gitリポジトリ:チームが引くと、私はこれがベストプラクティスの問題だと思いテストサーバー

我々はテストサーバー、gitリポジトリと複数のワークステーションを持っています。 ブラウザテストを行うときは、テストサーバーで直接作業します。 ブラウザのテストを行う人は誰でも、テストサーバーからリポジトリに変更をコミットできる必要があります。 問題:git remote(テストサーバー上)は、repo(git/config内)からプル/プッシュする単一のユーザーを指定します。各チームメンバーにはレポのsshユーザーがいますが。

質問です:各ユーザーが/プッシュgitの引き上げのための彼/彼女の自身のSSHアクセスを利用することができますか?

答えて

2

は(あなたが設定でそれを変更したり、単に新たにクローンを作成可能)テストサーバー上のクローンでユーザ名を指定せずにGitのレポのURLを指定してみてください。 gitはそのURLのホストのデフォルトのsshユーザー名を使用します。

あなたの設定によっては、さらにユーザごとに~/.ssh/configを変更する必要があります。誰もがテストサーバー(私はお勧めしませんセットアップ)上の同じ単一のユーザーでログインしている場合

更新

、それはあなたが一つの方法または別のをハックしなければならないことのように見えます。あなたはおよそuser.nameuser.emailを心配する場合は、マスターのgitリポジトリにアクセスし、GIT_AUTHOR_NAMEGIT_AUTHOR_EMAILを設定するには、各ユーザーを強制的にテストサーバーのユーザーを許可する

:それをする

1つの可能な方法は、この(私はそれを試していない)であります(そしておそらく、いくつかはothers)の環境変数を使用します。

これは明白な理由のために、いくつかのスクリプトでは、だけではない.bashrcまたは同様のことを行うには意味をなさないと思います。

忘れやすいユーザから身を守るために、gitクローンでpre-commitフックを設定して、スクリプトが(環境変数などで)呼び出されたかどうかを確認するコミットを設定することができます。代わりに、マスターgitリポジトリにpost-receiveスクリプトを設定し、プッシュされたコミットのユーザー資格がテストサーバーユーザーのものでないことを確認してください。その場合、ユーザーはコミットの著者を修正するために履歴を書き直す必要があります。

それが十分でない場合には、より詳細な情報を共有してください。

+0

"それは、そのURLのホストのためのgit使用のデフォルトのsshユーザー名を作成します。"はい、それは問題です:テスト環境には1人のユーザーしか使用しませんが、レポにアクセスするユーザーは複数います。だから私はGitに、プル/プッシュごとにユーザ/パスワードの組み合わせを求めてほしい。これは可能ですか? – stoefln

+1

誰もがテストサーバーで同じOSユーザーを使用していますが、それは間違いありませんか? –

+0

可能な単一OSユーザーソリューションの1つで私の答えを更新しました –

1

コミット時に作成者を指定できます。例えばgit commit --author="Author Name <[email protected]>"

良い方法、作者を供給するようにユーザに強制。ユーザーがそれらを求めるコミットすると

function gitco() { /usr/local/git/bin/git commit --author="$1"; } 

gitco <email address>を実行するために - あなたの~/.bashrc~/.profileでは次の関数を作成します。電子メールアドレスがなければ、gitcoは失敗します。

例:

gitco [email protected] 
関連する問題