0

Git の設定を手伝う必要があります。プロジェクトがあり、その開発をリリースから分離したいと考えています。ターゲットは次のとおりです。

  1. 私以外の誰も開発コードを表示または編集できません。
  2. 公開されたコードは誰でも (= public) 閲覧できますが、私以外は編集できません。

リポジトリ、ブランチなどをどのように設定すればよいですか? リリースをコミットするにはどうすればよいですか?

(私のGitホスティングはこれに制限されているため、ソリューションはユーザーアカウントに基づくべきではありません。)

4

1 に答える 1

1
  1. 作品を公開するまでは、あなたのプライベートです。開発中にプッシュしないでください。ただし、自分だけが見えるプライベート リポジトリをセットアップすることもできます (たとえば、バックアップのためだけに、またはラップトップ、デスクトップなどの別の場所から作業するため)。
  2. 別の共有リポジトリ (例: github) をセットアップし、リリース時にのみここにプッシュします。

小さなデモ:

[kan@altegom so18334364]$ git init --bare privrepo
Initialized empty Git repository in /private/tmp/so18334364/privrepo/
[kan@altegom so18334364]$ git init --bare pubrepo
Initialized empty Git repository in /private/tmp/so18334364/pubrepo/

[kan@altegom so18334364]$ git clone privrepo wc
Cloning into 'wc'...
warning: You appear to have cloned an empty repository.
done.

wc でパブリック リポジトリを設定する

[kan@altegom so18334364]$ cd wc
[kan@altegom wc (master)]$ git remote add pubrepo /tmp/so18334364/pubrepo/

開発を行っています...

[kan@altegom wc (master)]$ echo test > file1
[kan@altegom wc (master)]$ git add file1
[kan@altegom wc (master)]$ git commit -m "development..."
[master (root-commit) 14bf15b] development...
 1 file changed, 1 insertion(+)
 create mode 100644 file1

privrepo へのプッシュ

[kan@altegom wc (master)]$ git push
Counting objects: 3, done.
Writing objects: 100% (3/3), 230 bytes | 0 bytes/s, done.
Total 3 (delta 0), reused 0 (delta 0)
To /tmp/so18334364/privrepo
 * [new branch]      master -> master

もっと開発して…

[kan@altegom wc (master)]$ echo test2 >> file1 
[kan@altegom wc (master)]$ git commit -am "more development"
[master b90983d] more development
 1 file changed, 1 insertion(+)
[kan@altegom wc (master)]$ git push
Counting objects: 5, done.
Writing objects: 100% (3/3), 264 bytes | 0 bytes/s, done.
Total 3 (delta 0), reused 0 (delta 0)
To /tmp/so18334364/privrepo
   14bf15b..b90983d  master -> master

これでリリースの準備が整いました。公開する:

[kan@altegom wc (master)]$ git push pubrepo master 
Counting objects: 6, done.
Delta compression using up to 8 threads.
Compressing objects: 100% (2/2), done.
Writing objects: 100% (6/6), 421 bytes | 0 bytes/s, done.
Total 6 (delta 1), reused 0 (delta 0)
To /tmp/so18334364/pubrepo/
 * [new branch]      master -> master
于 2013-08-20T12:07:05.717 に答える