フリーランサーに Web アプリケーションの一部の作業を依頼しています - コード リポジトリのフロント エンド部分だけにアクセスを制限したいのですが、Git でこれを行う方法はありますか? リポジトリをホストするために bitbucket を使用しています。私たちは、彼に見られたくない独自の独自のバックエンド コードをたくさん持っており、彼は自分の仕事をするために見る必要はありません。
質問する
471 次
2 に答える
4
filter branch
彼だけのファイルを含むパスの履歴のみを含めるために使用して、新しいブランチを作成できます。このブランチを別のリポジトリにプッシュします。そのリポジトリへの権利を彼に与えます。そのレポから彼の変更を引き出します。そのブランチを元のリポジトリにマージして、彼の作業を残りのコードに組み込みます。
于 2012-08-02T05:27:55.327 に答える
1
または、リポジトリが bitbucket ではなく、制御できるサーバーにある場合は、SubGitを Git リポジトリにインストールし (リンクされた SVN リポジトリが作成されます)、結果の SVN リポジトリにパスベースの認証を設定し、フリーランサーの SVN URL を提供します。
ただし、リポジトリのクローンを使用してそれを行うことはできます。
$ svnadmin create svn.repo
$ git clone --mirror GIT_URL svn.repo/.git
$ subgit install svn.repo
そして、svn.repoへのアクセスをセットアップします (このようなもの):
LoadModule dav_svn_module "/usr/lib/apache2/modules/mod_dav_svn.so"
LoadModule authz_svn_module "/usr/lib/apache2/modules/mod_authz_svn.so"
<Location /repos>
DAV svn
SVNPath "/path/to/svn.repo"
AuthzSVNAccessFile "path/to/authz"
Allow from any
AuthType Basic
AuthName "Subversion Repository"
AuthUserFile /path/to/htpasswdfile
Require valid-user
</Location>
そして、path/to/authz (このようなもの):
[/]
*=
[/some/dir]
freelancer=rw
そして、SVN URL をフリーランサーに git します。結局のところ、「svn.repo/.git」リポジトリのブランチを GIT_URL にプッシュするだけでよいのです。
$ cd svn.repo/.git
$ git push origin freelancer_branch
于 2012-08-02T10:27:02.193 に答える