SVNには、ブランチを作成する少なくとも2つの方法があります。
svn cp /home/me/localcheckout/trunk /home/me/localcheckout/branches/newbranch
svn cp http://server/trunk http://server/branches/newbranch
最初にローカルで作成してから、ブランチ全体をコミットする必要があります。
2番目はサーバー上に作成します。
2番目の利点は、ローカルトランクをsvn切り替え、いくつかのファイルにいくつかの変更を加え、ほんの数KBをコミットできることです。
Gitを使用してそれを達成することは可能ですか?
GitHubにリモートブランチを作成し、ローカルリポジトリにプルする方法はありますか?
私が尋ねる理由は、電話のインターネット接続を使用してマスターから新しいリモートブランチに数KBをプッシュしようとしているが、プッシュするときに約400MBをプッシュしたいからです!
オブジェクトの書き込み:22%(54080/245586)、86.74 MiB | 13 KiB/s
同様の質問については、 Git-大規模プロジェクトのリモートブランチのプッシュが非常に遅い を参照してください。
Githubにはブランチを作成するためのシンプルなUIがあるようです。ブランチのドロップダウンを開くと、「ブランチを検索または作成する...」というプロンプトが表示されます。新しいブランチの名前を入力し、表示される「作成」ボタンをクリックします。
Githubから新しいブランチを取得するには、標準のgit fetch
コマンドを使用します。
ただし、サーバーにプッシュされる基になるデータ(コミットオブジェクト)は、どのブランチにプッシュされても同じであるため、これが基になる問題に役立つかどうかはわかりません。
あなたが何らかの形でツリーに大きな違いをもたらし、新しい変更を送信する必要がない限り、Gitはサーバーに既に存在するファイルを理解することになっています。
現在の状態のコピーで新しいブランチを作成するには
git checkout -b new_branch #< create a new local branch with a copy of your code
git Push Origin new_branch #< pushes to the server
リポジトリがサーバーに多くを送信するのに必要な理由を理解するために行った手順を説明してください。
新しいブランチを作成する前に、常にベストプラクティスはローカルマシンに最新のリポジトリを保持することです。エラーのないブランチを作成するには、次の手順に従います。
1. $ git branch (check which branches exist and which one is currently active (prefixed with *). This helps you avoid creating duplicate/confusing branch name)
2. $ git branch <new_branch> (creates new branch)
3. $ git checkout new_branch
4. $ git add . (After making changes in the current branch)
5. $ git commit -m "type commit msg here"
6. $ git checkout master (switch to master branch so that merging with new_branch can be done)
7. $ git merge new_branch (starts merging)
8. $ git Push Origin master (Push to the remote server)
私はこれを参照しました blog そして、私はそれがよりクリーンなアプローチであることがわかりました。