깃 (git) 이미 끼워졌는지 태그번호 삭제 어떻게 해야 할까요?
git push origin :tagname
또는 '표정' 옵션을 사용하여 더 삭제 (깃 (git) -d '또는' 는 이전의 경우 버전 1.8.0):
git push --delete origin tagname
단, git 는 동일한 이름을 사용할 수 있도록 태그번호 네임스페이스이며 분기로의 이름공간이 지사 및 태그. 스케쳐내 delaymins 지사급 분리하십시오 있는지 확인하기 위해 실수로 삭제 하는 대신, 전체 ref 결코 분기로의 태그번호 지정할 수 있습니다.
git push origin :refs/tags/tagname
또한 삭제해야 할 경우 로컬 태그를 사용합니다.
git tag --delete tagname
분기를 위해 추진하고 있는 다른 태그 또는 원격 리포지토리와 部门从 specifying ", ref, 소스, 어떤 ", 어떤 리포 대상?
git push remote-repo source-ref:destination-ref
실제 예로 드라이버로의 origin& # 39 의 마스터 () 은 이 당신의 주인이 누름식 있습니다.
git push origin refs/heads/master:refs/heads/master
이 때문에 기본 패스이므로 로 줄일 수 있다.
git push origin master:master
주기표시 동일한 방식으로 작동하는:
git push origin refs/tags/release-1.0:refs/tags/release-1.0
수도 있는 정도로 단축될 수 있다.
git push origin release-1.0:release-1.0
생략하여 전날에약혼자에게 누름식 & # 39 소스 참조 (전에 부품을 콜론), nothing& # 39. 대상에 대한 참조 삭제에서 remote end.
원격입니다 경우 '는' 그 '태그' 를 삭제, 사용자의 원격 v0.1.0 어졌다면 간단하게:
git push origin :refs/tags/v0.1.0
이 경우 삭제하시겠습니까 태그번호 로칼에서 필요가 있다.
git tag -d v0.1.0
지켜보리니 , # 39 의 애덤 Franco* 오토메이티드 # 39 의 특이한 Git& 대한 설명은 ':' 구문을 삭제용으로.
이 중에서 털미널 실행하십시오.
git fetch
git tags
git tag -d {tag-name}
git push origin :refs/tags/{tag-name}
이제 gnu. orghttp://www. Github.com 및 새로고치기, 사라집니다.
git tag -d 12345
git push origin :refs/tags/12345
git push --delete origin tagName
git tag -d tagName
git tag -d your_tag_name
git push origin :refs/tags/your_tag_name
'선' 의 첫 번째 deletes deletes your_tag_name 로컬 리포 및 정보기술 (it) 에서 원격 리포. 이제 완전히 your_tag 에서 삭제된 모두 로컬 및 원격 리포 필요하지만 때로는 폐기됩니다 의해 수동으로 태그 이 이 릴리스에는 섹선에서 깃허브 구배된 제거해야 할 수 있습니다.
그냥 것을 볼 수 있는 경우, 이 명령은 원격 서버로 원격 branch, tag 라는 모호한:
git push origin :tagname
git push --delete origin tagname
그래서 이 태그 삭제 명령을 사용해야 합니다.
git push origin :refs/tags/<tag>
그리고 이 중 삭제하시겠습니까 분기로의:
git push origin :refs/heads/<branch>
그렇지 않으면 이런 오류가 발생할 것이다.
error: dst refspec <tagname> matches more than one.
error: failed to push some refs to '<repo>'
이를 통해 답을 하는 동안 읽은 뒤, 이를 통해 이러한 방법을 배웠다 '또는' xargs 삭제하시겠습니까 11,000 주기표시 정지점은 시행하십시오 않았다면 시간이 너무 오래 구우십시오.
내가 찾은 두 much 빠른 방법, 어려움을 겪고 있기 때문이다. 깃 (git) 을 (를) ',' 또는 '-' 모두를 위한 시작 태그 태그 태그 바뀌엇어요 ls 원격입니다 깃 (git) 을 삭제할 수 있는 원격입니다. 아래의 예에서 굈 '또는' ing ',' 그렙 sorting_proccessing_etc 생략할 수 있습니다 '꼬리' ing '가 포함된' 또는 '헤드' 정렬하려면 ing, ing 운영까지도 ('- P " e.g. 그렙 my_regex"; 200 '정렬하려면 뻨을 헤드에게 etc):
git push origin $(< git tag | sorting_processing_etc \
| sed -e 's/^/:/' | paste -sd " ") #note exclude "<" for zsh
이것은 어떻게 작동합니까? 일반, 분판된 선 태그 목록에 있는 각 앞에 붙인 ':' 그래서 구분된 주기표시 단 한 줄도 변환됩니다. . .
tag1 becomes
tag2 ======> :tag1 :tag2 :tag3
tag3
깃 (git) '이 형식으로 태그' 를 사용하여 누름식 nothing 푸시합니다 각 원격 참조, 누진치수의 it (보통 형식이 있다 '는' 이렇게 local_ref_path:remote_ref_path).
두 방법 모두 삭제 후, 해당 지역 주기표시 you& # 39, ll 수행해 너무. 이 훨씬 더 빨리 돌아갈 수 있도록 '-' 와 'd' 를 사용하여 xargs 는 충분하나니 태그번호 깃 (git).
git tag | sorting_processing_etc | xargs -L 1 git tag -d
또는 비슷한 원격 삭제.
git tag -d $(< git tag | sorting_processing_etc | paste -sd " ")
깃 (git) '는 것과' 의 경우 생성했는지 태그번호 불렀으매 release01 리포지토리를 저장소의 분리하십시오 수행여 다음과 같습니다.
git tag -d release01
git push origin :refs/tags/release01
1 에서 지루려면 머큐리얼 리포지토리를:
hg tag --remove featurefoo
제발? 페이지 id = 2821755 51 참조 https://confluence.atlassian.com/pages/viewpage.action
깃 (git) - - 이 작업을 쉽게 수행할 수 있습니다 다음 gui 를 사용할 경우 수르스트리 숭배자들로부터도 명령줄이 없이 수행여 다음과 같습니다.
이제 your_tag_name 제거될 수 있을 뿐만 아니라 다른 모든 리모컨, 깃허브, 또는 해당 지역 리포지토리와 - 언제 어디서나 원격 서버로 해당 리포지토리를 나열되는지 비트포켓 있습니다.
또한 삭제하면 모든 it 의 역사, 삭제하려는 원격입니다 태그번호 로칼에서 아닌 그냥 태그 및 첨부됩니다 같은 이름을 가진 후 새로 만들 때 같은 커밋합니다) 등이 있다. 그런 다음 단계 이상 삭제하시겠습니까 반복하십시오 변경됩니다.
이에 따라, ve 분할되었습니다 @CubanX I& # 39 이 답을 내 원래:
git tag | sorting_processing_etc | parallel --jobs 2 curl -i -X DELETE \
https://api.github.com/repos/My_Account/my_repo/git/refs/tags/{} -H
\"authorization: token GIT_OAUTH_OR_PERSONAL_KEY_HERE\" \
-H \"cache-control: no-cache\"`
['동시에'] (https://www.gnu.org/software/parallel/parallel_tutorial.html) 는 수많은 운영 모드를 설정할 수 있었지만, 일반적으로 병렬화하고 수에 대한 제한값이 프로세스활용 그 때 모든 명령 줄 수 있습니다. 하지만 난 빠른 작업을 할 수 있도록 매개변수입니다 작업 변경할 수 있습니다 '2' s [전송률인 제한값] # 39 github& 문제가 있었다. (https://developer.github.com/v3/ # 속도 제한) 는 현재 보유하고 있는 5000/hr 뿐만 아니라 단기 제한값 문서화되지 않은 것 같다.
그 후, 해당 지역 주기표시 you& # 39, ll 수행해 삭제하시겠습니까 너무. 이 훨씬 더 빨리 돌아갈 수 있도록 '-' 와 'd' 를 사용하여 xargs 는 충분하나니 태그번호 깃 (git).
git tag | sorting_processing_etc | xargs -L 1 git tag -d
내가 하고 싶은 일치하는 것을 제외한 모든 태그를 제거하시겠습니까 패턴을 어떻게 할 수 있도록 모두이지만 삭제하시겠습니까 마지막 몇 달, 운영 주기표시 here& # 39, s what I 행하였 위대한 성공을 거두었다.
git tag -l | grep -P '^(?!Production-2017-0[89])' | xargs -n 1 git push --delete origin
git tag -l | grep -P '^(?!Production-2017-0[89])' | xargs git tag -d
다른 답을 어떻게 지적하고 이를 위해 이 점을 염두에 둬야 할 수 있지만, 이것은 이후 각오하랬지 원격 리포지토리와.
이 git 태그번호 맨페이지를 [켜짐이 레이그링] [1] 에 대해 좋은 방법을 알려 원격입니다 repo& # 39 는 단면, 정중, s 의 다른 사용자들에게 변경. 심지어 다른 사람들이 어떻게 변경 사항을 통신을 위한 열거하십시오 핸디 발표 템플리트를 받아야 한다.
[1]: https://www.kernel.org/pub/software/scm/git/docs/git-tag.html # _on_re_tagging
# Local tags:
git tag -l | foreach { git tag -d $_ }
# Remote tags:
git tag -l | foreach { git push --delete origin $_ }
물론 삭제하기 전에 항목을 필터링합니다 수도 있습니다.
git tag -l | Where-Object { $_ -like "build-*" } | foreach { git tag -d $_ }
간단한 스크립트입니다 주어진 제거하시겠습니까 모두에서 태그번호 로컬 및 그 위치. 정말 태그번호 여부를 확인할 수 있는 것입니다.
if [ $(git tag -l "$1") ]; then
git tag --delete $1
git push --delete origin $1
echo done.
else
echo tag named "$1" was not found
fi
How to use.
무언가를 위해 xargs 는 이미 '작업' 많이유 같다. # 39 을 (를) '이 추측, m, 이를 통해 i& 보았으매 뒤로 스레드할 xargs' 느림 '1' 은 원래 오토메이티드 뻨을 xargs 사용할 수 있는 경험이 있기 때문에 didn& 때 # 39, t really 해야 합니다.
이는 단 한 가지 방법 '을 다룬' xargs 데이터베이스에구성원을 avamer 자동으로 최대 명령행을 길이:
git tag | sorting_processing_etc | xargs git push --delete origin
xargs 프로세스활용 동시에 실행할 수 있는 '' 너무. Xargs '와' 방법 2:
git tag | sorting_processing_etc | xargs -P 5 -n 100 git push --delete origin
위의 /dev/raw/raw1 최대 5 개의 프로세스를 처리할 수 있는 최대 100 개의 인수만 각 프로세스의. 사용할 수 있는 최상의 것을 찾기 위한 인수만 요구에 맞는.
git tag -d #STOO2
하지만 같은 문자열 안에 랩할 태그번호 삭제하지 않습니다 그래서 ipv6-literal.
git tag -d "#ST002" or git tag -d '#ST002'
이해했소 삭제된 것으로 보인다. # 를 사용하는 데 도움이 될 것이라고 기대하고 태그 이름을 쓸 사람은 실수를 했다.
여기에 테스트하려는 로컬 티스트카스 로칼에서 메싱 않고 있는 원격:
~/p $ mkdir gittest
~/p/git $ cd gittest/
~/p/gittest $ git init
Initialized empty Git repository in /Users/local_user/p/gittest/.git/
~/p/gittest $ touch testfile.txt
~/p/gittest $ git add testfile.txt
~/p/gittest $ git commit -m "initial commit"
[master (root-commit) 912ce0e] initial commit
1 file changed, 0 insertions(+), 0 deletions(-)
create mode 100644 testfile.txt
~/p/gittest $ git tag
~/p/gittest $ git tag -a testtag
~/p/gittest $ git tag
testtag
~/p/gittest $ git show-ref
912ce0e40635c90241fdab756dce7ea34938de57 refs/heads/master
b0a6c15cabb990e6d6c46f762891b63608d962f3 refs/tags/testtag
~/p/gittest $ cd ..
~/p $ mkdir gitbare
~/p $ cd gitbare
~/p/gitbare $ git init --bare
Initialized empty Git repository in /Users/local_user/p/gitbare/
~/p/gitbare $ cd ..
~/p $ cd gittest/
~/p/gittest $ git remote add origin /Users/local_user/p/gitbare
~/p/gittest $ git push -u origin master
Counting objects: 3, done.
Writing objects: 100% (3/3), 215 bytes | 215.00 KiB/s, done.
Total 3 (delta 0), reused 0 (delta 0)
To /Users/local_user/p/gitbare
* [new branch] master -> master
Branch 'master' set up to track remote branch 'master' from 'origin'.
~/p/gittest $ git push origin testtag
Counting objects: 1, done.
Writing objects: 100% (1/1), 163 bytes | 163.00 KiB/s, done.
Total 1 (delta 0), reused 0 (delta 0)
To /Users/local_user/p/gitbare
* [new tag] testtag -> testtag
~/p/gittest $ git show-ref
912ce0e40635c90241fdab756dce7ea34938de57 refs/heads/master
912ce0e40635c90241fdab756dce7ea34938de57 refs/remotes/origin/master
b0a6c15cabb990e6d6c46f762891b63608d962f3 refs/tags/testtag
~/p/gittest $ git push -d origin testtag
To /Users/local_user/p/gitbare
- [deleted] testtag
~/p/gittest git tag -d testtag
Deleted tag 'testtag' (was b0a6c15)
~/p/gittest $ git show-ref
912ce0e40635c90241fdab756dce7ea34938de57 refs/heads/master
912ce0e40635c90241fdab756dce7ea34938de57 refs/remotes/origin/master
~/p/gittest