2

ローカルコンピューターでGitを使用してバージョン管理下に置きたいプロジェクトファイル(テストファイルを含む)があります。プロジェクトファイルのサブセットのみを含むパブリックリモートリポジトリ(GitHub上)を作成したい(プロジェクト内のテストファイルの一部をパブリックリモートリポジトリから省略したい)。

特定のファイルが省略され、リモートリポジトリまたはその履歴にこれらのファイルが存在したことを示す参照がないように、リモートリポジトリを設定するにはどうすればよいですか?

4

1 に答える 1

1

これを試して:

  • gitリポジトリを初期化します:

    git init
    
  • すべての公開ファイルを追加し、最初のコミットを行います。

    git add public1 public2 ...
    git commit -m 'initial commit'
    
  • 新しいprivateブランチを作成します。

    git checkout -b private
    
  • テストファイルや、公開したくないその他のものを追加します。

    git add testcase1 testcase2 ...
    git commit -m 'added test cases'
    

これで、2つのブランチを持つリポジトリができました。ブランチには、master公開したいものだけが含まれています。privateブランチはマスターブランチに基づいていますが、いくつかの追加ファイルがあります。

githubremoteを追加し、マスターブランチをプッシュします。

ブランチでほとんどの作業を行い、必要に応じmasterて定期的に変更をブランチにマージするprivate必要があります。

更新:ファイルを頻繁に処理する必要がある場合、「プライベート」ファイルからの変更とパブリックファイルへの変更を区別することが困難になるため、これは複雑になります。すべてのプライベートファイルを特定のサブディレクトリに限定できる場合、最も簡単な方法は、プライベートファイルを別のリポジトリに配置することです(そして、作業コピーをパブリックリポジトリ内でチェックアウトすることです)。

すべてを同じサブディレクトリに限定できない場合でも、シンボリックリンクをクリエイティブに使用することで同様のソリューションを追求できます。

于 2012-05-19T23:50:46.887 に答える