새로운 프로젝트를위한 새로운 빈 브랜치를 만드는 방법
우리는 프로젝트를 저장하기 위해 git 저장소를 사용하고 있습니다. 우리는 원래 지점에서 출발하는 지점을 가지고 있습니다. 그러나 이제 문서를 추적 할 작은 새 프로젝트를 만들고 싶습니다. 이를 위해 파일 저장을 시작하기 위해 비어있는 새 분기를 만들고 네트워크의 다른 사용자가 해당 분기를 복제하기를 원합니다.
우리는 어떻게 할 수 있습니까?
몇 가지를 시도했지만 작동하지 않았습니다.
$ mkdir proj_doc; cd proj_doc
$ git init
$ git add .
$ git commit -m 'first commit'
$ git br proj_doc
$ git co proj_doc
$ git br -d master
$ git push origin proj_doc
지점을 확인하는 것처럼 보이지만 가져 오기 또는 가져 오기를 수행하면 다른 지점에서 정보를 다운로드 한 다음 다른 프로젝트에서 추가 파일을 얻습니다. 가장 좋은 해결책은 무엇입니까?
고아로 분기를 만들 수 있습니다.
git checkout --orphan <branchname>
부모가없는 새 지점이 만들어집니다. 그런 다음 다음을 사용하여 작업 디렉토리를 지울 수 있습니다.
git rm --cached -r .
문서 파일을 추가하고 커밋 한 다음 github에 푸시하십시오.
pull 또는 fetch는 항상 모든 원격 브랜치에 대한 로컬 정보를 업데이트합니다. 단일 원격 브랜치에 대한 정보 만 가져 오거나 가져 오려면이를 지정해야합니다.
정답은 고아 지점을 만드는 것입니다. 내 블로그 에서이 작업을 수행하는 방법을 자세히 설명합니다 : http://sidja.in/post/62663941071
...
시작하기 전에 최신 버전의 GIT로 업그레이드하십시오. 최신 버전을 실행하려면 다음을 실행하십시오.
which git
이전 버전이 나오면 방금 설치 한 버전이 포함 된 폴더로 PATH를 보강해야 할 수 있습니다.
좋아, 준비 됐어 자식 체크 아웃이 들어있는 폴더에 CD를 넣은 후 고아 지점을 만듭니다. 이 예에서는 지점 이름을 "mybranch"로 지정합니다.
git checkout --orphan mybranch
고아 지점의 모든 항목을 삭제하십시오.
git rm -rf .
약간 변경
vi README.txt
변경 사항 추가 및 커밋
git add README.txt git commit -m "Adding readme file"
그게 다야. 당신이 실행하는 경우
git log
커밋 히스토리는 처음부터 시작됨을 알 수 있습니다. 마스터 브랜치로 다시 전환하려면 다음을 실행하십시오.
git checkout master
다음을 실행하여 고아 지점으로 돌아갈 수 있습니다.
git checkout mybranch
다음과 같이 빈 새 분기를 만드십시오.
true | git mktree | xargs git commit-tree | xargs git branch proj-doc
proj-doc 파일이 이미 단일 하위 디렉토리에서 커밋에있는 경우 다음과 같이 새 분기를 만들 수 있습니다.
git commit-tree thatcommit:path/to/dir | xargs git branch proj-doc
보다 더 편리 할 수있는 git branch --orphan
그 많은 당신을 떠날 것인지 git rm
와 git mv
어떻게 보내고.
시험
git branch --set-upstream proj-doc origin/proj-doc
이것이 너무 많은 페치 문제에 도움이되는지 확인하십시오. 또한 실제로 단일 브랜치를 가져 오려면 명령 줄에서 지정하는 것이 가장 안전합니다.
master
파일 / 디렉토리 가있는 브랜치 가 있다고 가정 해 보겠습니다 .
> git branch
master
> ls -la # (files and dirs which you may keep in master)
.git
directory1
directory2
file_1
..
file_n
빈 가지를 만드는 방법을 단계별로 살펴보십시오.
git checkout —orphan new_branch_name
- 다음 명령을 실행하기 전에 올바른 디렉토리에 있는지 확인하십시오.
ls -la |awk '{print $9}' |grep -v git |xargs -I _ rm -rf ./_
git rm -rf .
touch new_file
git add new_file
git commit -m 'added first file in the new branch'
git push origin new_branch_name
2 단계에서는 새 브랜치의 파일과 브랜치에있는 파일과 혼동되지 않도록 모든 파일을 로컬에서 제거하기 만하면 master
됩니다. 그런 다음 3 단계에서 모든 파일의 연결을 해제합니다. 마지막으로 4 단계와 그 이후에 새로운 빈 분기를 사용합니다.
완료되면 지점간에 쉽게 전환 할 수 있습니다.
git checkout master
git checkout new_branch
git 버전에 --orphan 옵션이 없으면이 방법을 사용해야합니다.
git symbolic-ref HEAD refs/heads/<newbranch>
rm .git/index
git clean -fdx
몇 가지 작품을 한 후
git add -A
git commit -m <message>
git push origin <newbranch>
참고 URL : https://stackoverflow.com/questions/13969050/how-to-create-a-new-empty-branch-for-a-new-project
'Programing' 카테고리의 다른 글
: (콜론) GNU Bash 내장의 목적은 무엇입니까? (0) | 2020.03.12 |
---|---|
SQL Server-SQL 스크립트 실행 중지 또는 중단 (0) | 2020.03.12 |
lock 문의 본문에서 'await'연산자를 사용할 수없는 이유는 무엇입니까? (0) | 2020.03.12 |
ggplot2를 사용한 단계별 플롯 (0) | 2020.03.12 |
Java를 MySQL 데이터베이스에 연결 (0) | 2020.03.12 |