목록버전관리 (35)
스택큐힙리스트
저는 다음과 같이 저장소를 복제합니다: git clone ssh://xxxxx/xx.git 하지만 몇 개의 파일을 변경한 후에 add와 commit을 하고, 이를 서버에 푸시하고 싶습니다: git add xxx.php git commit -m TEST git push origin master 하지만 받은 오류는 다음과 같습니다: error: src refspec master does not match any. error: failed to push some refs to 'ssh://xxxxx.com/project.git' 답변 1어쩌면 커밋만 필요할 수도 있습니다. 저는 다음을 실행할 때 이와 마주쳤습니다: mkdir repo && cd repo git init git remote add origin ..
저는 https://github.com/aikiframework/json에 호스팅된 하나의 저장소를 가지고 있습니다. 로컬 복사본에서 아래의 명령어를 사용하여 하위 모듈을 추가했습니다: git submodule add [email protected]:jcubic/json-rpc.git json-rpc 그런 다음 커밋과 푸시를 수행하였고 변경 내용이 GitHub에 나타납니다(클릭할 수 있습니다). 그러나 저장소를 클론할 때: git clone https://github.com/aikiframework/json.git 하위 모듈 폴더 json-rpc가 비어있습니다. 여기서 무엇이 잘못되었을까요? 무언가를 놓친 건가요? 왜 해당 폴더가 비어있나요?답변 1알았어, 리포지토리를 클론할 때 --recursive를 ..
저장소의 첫 번째 클론 중에, git은 먼저 객체를 받은 다음 차이를 해결하는 작업에 대략 같은 양의 시간을 소비합니다. 실제로 클론하는 동안 이 단계에서 무슨 일이 일어나고 있을까요?답변 1팩 파일에 있는 객체는 델타로 저장될 수 있습니다. 즉, 다른 객체에 대한 일련의 변경 사항으로 저장됩니다. 이 경우, git은 기본 개체를 검색하여 명령을 적용하고 결과를 SHA1 해시해야 합니다. 기본 개체 자체는 델타 명령의 일련을 적용하여 도출해야 할 수도 있습니다. (복제의 경우 기본 개체가 이미 발견되었을 수 있지만, 기억 장치에 캐시된 제조된 개체 수에는 한계가 있습니다). 요약하자면, 델타 해결 단계는 전체 저장소 데이터베이스의 압축 해제와 체크섬 계산을 수반하므로 예상대로 상당한 시간이 소요됩니다. ..
만약 git clone을 --recursive와 함께 사용한다면, git의 모든 서브모듈을 얻을 수 있습니다. 만약 클론할 때 이 마법같은 플래그를 추가하지 않았다면, 서브모듈을 가져오는 방법은 무엇인가요? 추가로, 어떻게 재귀 플래그를 기본값으로 설정하여 향후 클론에 적용할 수 있을까요?답변 1아주 간단한 상위 수준 복제 후에 이를 사용하여 할 수 있습니다: git submodule update --init --recursive 기본적으로 이를 클론하는 것을 추천하지 않습니다. submodules를 개발에 적극적으로 사용하고 오직 여러분이 만드는 것이 아니라 3rd party OSS 라이브러리를 접속하는 경우, 한두 번 업그레이드하기 위한 용도로 사용한다면, git slave 또는 subtree를 사용..