git fetch <gitserver> <remotetag>:<localtag>
====================================
방금 했어요 먼저 태그 이름 철자를 알고있었습니다.
git ls-remote --tags gitserver; : or origin, whatever your remote is called
이것은 나에게 git 서버에서 선택할 수있는 태그 목록을 제공했다. 원래 포스터는 이미 자신의 태그 이름을 알고 있으므로이 단계가 모든 사람에게 필요한 것은 아닙니다. 실제 목록은 더 길지만 출력은 다음과 같습니다.
8acb6864d10caa9baf25cc1e4857371efb01f7cd refs/tags/v5.2.2.2
f4ba9d79e3d760f1990c2117187b5010e92e1ea2 refs/tags/v5.2.3.1
8dd05466201b51fcaf4ca85897347d82fcb29518 refs/tags/Fix_109
9b5087090d9077c10ba22d99d5ce90d8a45c50a3 refs/tags/Fix_110
원하는 태그를 선택하고 다음과 같이 아무것도 가져 오지 않았습니다.
git fetch gitserver Fix_110
그런 다음 로컬 컴퓨터에서 태그를 지정하여 태그에 동일한 이름을 지정했습니다.
git tag Fix_110 FETCH_HEAD
다른 사람들이 제안한 것처럼 원격 저장소를 복제하고 싶지 않았습니다. 현재 작업중 인 프로젝트가 크고 깔끔한 환경에서 개발하고 싶습니다. 나는 이것이 전체 저장소 복제를 제안하는 솔루션보다 "특정 태그를 다운로드하는 방법을 알아 내려고 노력 중"이라는 원래의 질문에 더 가깝다고 생각합니다. DOS 0.1 소스 코드를보고 싶은 사람이 왜 Windows NT 및 Windows 8.1 소스 코드의 사본을 가져야하는지 모르겠습니다.
또한 다른 사람들이 제안한대로 CHECKOUT을 사용하고 싶지 않았습니다. 지점을 체크 아웃했으며 그 영향을 원하지 않았습니다. 저의 의도는 내가 원하는 것을 골라 내 개발에 추가 할 수 있도록 원하는 소프트웨어를 가져 오는 것이 었습니다.
태그가 지정된 커밋의 복사본이 아닌 태그 자체를 가져 오는 방법이있을 수 있습니다. 가져온 커밋에 직접 태그를 달아야했습니다. 편집 : 아 네, 지금 찾았습니다.
git fetch gitserver Fix_110:Fix_110
콜론이 보이는 곳은 remote-name : local-name이며 여기에 태그 이름이 있습니다. 이것은 작업 트리 등을 화나게하지 않고 실행됩니다. 원격에서 로컬 시스템으로 물건을 복사하여 자신의 사본을 가지고있는 것 같습니다.
git fetch gitserver --dry-run Fix_110:Fix_110
--dry-run 옵션을 추가하면 원하는 것을 확인하려는 경우 명령이 수행하는 작업을 볼 수 있습니다. 그래서 간단한 것 같아
git fetch gitserver remotetag:localtag
실제 답변입니다.
=
태그에 대한 별도의 메모 ... 새로운 것을 시작할 때 일반적으로 git init 후에 빈 저장소에 태그를 지정합니다.
git rebase -i XXXXX
커밋이 필요하고 "첫 번째 소프트웨어 변경을 포함한 변경 사항을 어떻게 리베이스합니까?"라는 의문이 생깁니다. 그래서 일을 시작하면
git init
touch .gitignore
[then add it and commit it, and finally]
git tag EMPTY
즉, 첫 번째 실제 변경 전에 커밋을 만든 다음 나중에 사용합니다.
git rebase -i EMPTY
내 모든 작업, 리베이스하려면 첫 번째 변화를 포함하여 .