2011-12-05 9 views

答えて

17

通常あなたは裸のリポジトリに直接ブランチを作成しませんが、あなたは裸

git push origin myBranch 

Updateに1つの作業リポジトリから枝をプッシュ:言及する価値が

同様ポールPladijsはで言及しました

git push origin localBranchName:remoteBranchName 

あなたのローカルブランチをリモートの別のブランチ名、つまりローカルブランチにプッシュ(作成しない場合)します。

git push origin :remoteBranchName 

あなたはリモートブランチを削除します。新しいブランチを作成するには

+1

あなたは別の名前が、その後使用ブランチを与えたい場合は:: 'gitのプッシュ原点localBranchName:remoteBranchName' –

4

(ローカル)(該当する場合)githubのようなリモートリポジトリとそれを同期するようにその後branchname

git branch brachname 

と呼ば

git push origin branchname 

とmake /開発のためにそれを使用します枝アクティブブランチ

git checkout branchname 
+1

裸のリポジトリには、これはエラーに下回る結果となり

は、テスト・スクリプトです致命的:有効なオブジェクト名ではありません: 'master'。* –

5
git update-ref refs/heads/new_branch refs/heads/master 

あなたが直接アクセスできる場合は、その裸のリポジトリにあります。最後の引数に任意の参照(例えばタグ)やコミットを指定することができます。 * :

$ mkdir non-bare-orig 

$ cd non-bare-orig/ 

$ git init 
Initialized empty Git repository in D:/Temp/bare-branch/non-bare-orig/.git/ 

$ touch file1 

$ git add --all && git commit -m"Initial commit" 
[master (root-commit) 9c33a5a] Initial commit 
1 file changed, 0 insertions(+), 0 deletions(-) 
create mode 100644 file1 

$ touch file2 

$ git add --all && git commit -m"Second commit" 
[master 1f5673a] Second commit 
1 file changed, 0 insertions(+), 0 deletions(-) 
create mode 100644 file2 

$ git tag some_tag 

$ touch file3 

$ git add --all && git commit -m"Third commit" 
[master 5bed6e7] Third commit 
1 file changed, 0 insertions(+), 0 deletions(-) 
create mode 100644 file3 

$ cd ../ 

$ git clone --bare non-bare-orig bare-clone 
Cloning into bare repository 'bare-clone'... 
done. 

$ cd bare-clone/ 

$ git update-ref refs/heads/branch1 refs/heads/master 

$ git update-ref refs/heads/branch2 some_tag 

$ git update-ref refs/heads/branch3 9c33a5a 

$ git branch -vv 
    branch1 5bed6e7 Third commit 
    branch2 1f5673a Second commit 
    branch3 9c33a5a Initial commit 
* master 5bed6e7 Third commit 
関連する問題