我创建了一个本地分支,如何将其推送到远程服务器?
更新:我在这里为Git 2.0写了一篇更简单的答案。
我使用了两种方法创建分支
如果你正在使用TortoiseGit,请按照以下步骤操作:
1.使用TortoiseGit创建分支
右键单击项目 >>> TortoiseGit >>> Create Branch >>> 输入分支名称并选择基础分支,然后点击确定
2.推送分支
右键单击项目 >>> TortoiseGit >>> push >>> 点击确定
3.切换到新分支
右键单击项目 >>> TortoiseGit >>> Switch/Checkout >>> 选择新创建的分支,然后点击确定
如果你正在使用命令提示符,请按照以下步骤操作:
1.使用命令提示符创建分支
$git checkout -b 新分支名称
2.推送分支
$git push origin new_branch_name
3. 切换到新分支,如果已经切换到new_branch_name,则无需操作,否则可以使用以下命令:
$git checkout new_branch_name
我使用这个,非常方便:
git config --global alias.mkdir '!git checkout -b $1; git status; git push -u origin $1; exit;'
用法:git mkdir NEW_BRANCH
你甚至不需要 git status;也许,我只是想确保一切顺利...
你可以使用一个命令同时拥有本地和远程分支。
我通过将以下内容添加到我的bash ~/.profile
中来解决这个问题:
function gitb() { git checkout -b $1 && git push --set-upstream origin $1; }
然后,要启动新的本地+远程分支,我写下:
gitb feature/mynewbranch
这将创建分支,并且不仅设置跟踪(以便稍后使用git pull
和git push
无需额外参数),而且实际确认目标存储库中没有此类分支。
git push --set-upstream origin mobile-test
--single-branch
来克隆当前分支,则可以使用以下命令从当前分支创建一个新的分支:git checkout -b <new-branch-name>
git push -u origin <new-branch-name>
git remote set-branches origin --add <new-branch-name>
git fetch
get fetch --all
会获取远程端的新分支(但只有get fetch --prune
才会删除本地对已删除的远程分支的引用)。我认为,这应该由他们自动设置,或者您需要口头与他们沟通。 - peterh