相关疑难解决方法(0)

是否有一个简单的命令将分支转换为标签?

我即将完成将"哑快照"转换为git的繁琐过程.这个过程一直很顺利(感谢这个重命名过程),但现在我意识到我创建的一些分支不值得branch,而是一个tag.

由于一切都仍然是本地的(从未被推送到存储库),我发现这个问题(和相关的答案)比我更喜欢有点麻烦,所以我想知道我是否可以通过一些简单的"转换为分支"来获取快捷方式-tag"命令?

是否有这么简单的命令将分支转换为标签?

(我知道我可以保留它原样,但我真的很喜欢gitk突出标签的方式,帮助我轻松识别它们).

更新:感谢@ Andy在下面的回答,我设法提出了一个shell脚本,可以方便,轻松地完成所有操作.为了所有人的利益,我正在分享这个脚本,特别感谢这个伟大的社区,他为我提供了CVS to git的可能性:

#!/bin/sh

BRANCHNAME=$1
TAGNAME=$2

echo "Request to convert the branch ${BRANCHNAME} to a tag with the same name accepted."
echo "Processing..."
echo " "

git show-ref --verify --quiet refs/heads/${BRANCHNAME}
# $? == 0 means local branch with <branch-name> exists. 

if [ $? == 0 ]; then
   git checkout ${BRANCHNAME}
   git tag ${BRANCHNAME}
   git checkout master
   git branch ${BRANCHNAME} -d
   echo " " …
Run Code Online (Sandbox Code Playgroud)

git git-tag git-branch

27
推荐指数
2
解决办法
5807
查看次数

在SVN到Git迁移期间,将SVN远程分支和标记转换为本地Git分支/标记的正确方法是什么

在推送到我的远程Git仓库并完全放弃SVN之前,将git-svn init/git-svn提取到本地Git分支/标记之后,使远程分支/标记存在的正确方法是什么?

我有:

  • git svn init
  • svn-remote "svn".git/config文件的部分更新为以下内容:

    url = file:///Users/Developers/git_transition/svn_repo
    fetch = cascade/trunk:refs/remotes/svn/trunk
    branches = cascade/branches/{5.0GA_CLEANUP,drag-n-drop-def-builder,help-text,hib-annotations,hibernate-annotations,image-editor,ldapconfig,liquibase,move-rename-prototype,progress-bar,progress-bar2,quartz-upgrade,recyclebin,rendering_metrics,shuttle_upgrade,spring3,web-services-no-nuller}:refs/remotes/svn/*
    branches = cascade/branches/{6.x,5.x,4.x,3.x,archive}/*:refs/remotes/svn/*
    tags = cascade/tags/{3.7.x,4.x,5.x,6.x,old-releases}/*:refs/remotes/svn/tags/*
    
    Run Code Online (Sandbox Code Playgroud)
  • git svn fetch

是否git-svn clone做一些超出的init /取,轮流这些分支/标签为当地的呢?

我尝试了关于Pro Git建议,但除了空的6.x,5.x,4.x,3.x,标签和存档目录之外,.git/refs/remotes/svn /目录中没有任何内容.我确实验证了远程分支在那里git branch -r.

有人建议我需要系统地检查所有远程分支机构作为本地分支机构:git checkout -b <local_branch_name> <svn_remote_branch_name>但我没有得到任何确定的答案.

已经能够使用该脚本来CONVER标签:

git for-each-ref --format="%(refname)" refs/remotes/svn/tags/6.x |
grep -v @ | while read tag; do GIT_COMMITTER_DATE="$(git log -1
--pretty=format:"%ad" "$tag")" GIT_COMMITTER_EMAIL="$(git log -1
--pretty=format:"%ce" "$tag")" GIT_COMMITTER_NAME="$(git …
Run Code Online (Sandbox Code Playgroud)

git git-svn

7
推荐指数
1
解决办法
4301
查看次数

Git:将标签转换为远程仓库中的分支

我有一个名为latest的标签,我希望它成为一个分支.与相反.我也需要将它从远程仓库中删除.

背景:对于许多golang软件包来说,这是一个问题,goinstall会查找发布标记或分支,这与该语言的最新官方版本相对应.当他们应该使用git 分支时,很多人错误地使用git 标签,类似于其他VCS .

git git-tag git-branch

3
推荐指数
1
解决办法
3189
查看次数

标签 统计

git ×3

git-branch ×2

git-tag ×2

git-svn ×1