使用一个git命令和一个字符串参数<topic-name>
我该怎么做,
topic/<topic-name>
git push
在没有警告或提示的情况下推送到origin/topic/<topic-name>
git push
命令在没有警告或提示的情况下推送到origin/topic/<topic-name>
假设origin/topic/<topic-name>
不存在于远程仓库的分支上。
我愿意使用git别名来实现这一目标。
答案 0 :(得分:0)
这似乎有效,
git config --global alias.topic '!f() { b="topic/$1"; git checkout -b "$b"; git config branch."$b".remote origin; git config branch."$b".merge refs/heads/"$b"; }; f'
$ git topic SI-9008
Switched to a new branch 'topic/SI-9008'
$ git push
Total 0 (delta 0), reused 0 (delta 0)
remote:
remote: Create pull request for topic/SI-9008:
remote: https://bitbucket.org/xxx/xxx/pull-requests/new?source=topic/SI-9008&t=1
remote:
To bitbucket.org:xxx/xxx.git
* [new branch] topic/SI-9008 -> topic/SI-9008
基于git- Creating a branch which will be pushed to a remote later
答案 1 :(得分:-1)
按照here:
的说明,将以下内容添加到您的git conifg中[alias]
setupBranch = "!f() { git checkout -b topic/"$1" origin/topic/"$1"; }; f"
这将设置一个别名setupBranch
,使用您指定的参数执行git checkout -b
。
编辑:
但请注意,这仅在分支origin/topic/<topic-name>
存在时才有效,否则会因fatal: Cannot update paths and switch to branch 'topic/<topic-name>' at the same time.