문제

디렉토리의 버전을 제어하고 "프로젝트"라고 부르고 화석 파일을 "화석"이라는 다른 디렉토리 안에 보관하고 싶습니다. "Project.fsl"리포지토리를 작성하고 프로젝트 파일을 추가하고 커밋하고 닫았습니다.내 문제는 다음 단계를 수행하는 방법을 이해하는 것입니다.

내가하는 일은 다음과 같습니다. fossilbook 제안.

$ cd project
$ fossil new ../fossils/project.fsl
$ fossil open ../fossils/project.fsl
$ fossil add .
$ fossil ci -m "first commit"
$ fossil close project.fsl

이제 저는 프로젝트 작업을 하고, 일부 파일을 편집하고, 일부 파일을 삭제하고, 일부 파일을 만들고, 일부 파일의 이름을 바꿨습니다.프로젝트의 현재 상태를 저장소에 추가하고 싶습니다.어떻게 해야 하나요?

문서에서 읽은 내용에 따르면 먼저 저장소를 열고 파일을 추가한 다음 커밋해야 한다는 인상을 받았습니다.저장소를 열지 않으면 Not within an open checkout. 메시지.하지만 만약 내가 open 화석이 내 디렉토리를 이전 파일로 덮어쓰려고 합니다.(그리고 내부에서 열면 fossils 디렉토리를 선택하면 내가 원하는 것이 아닌 내 프로젝트의 "압축해제된" 버전이fossils 디렉토리에 복사됩니다.)

$ cd project
$ fossil open ../fossils/project.fsl

여기서 화석은 내 프로젝트를 이전 버전으로 덮어쓰려고 합니다.나는 모든 제안을 거절합니다.예상 컨데 open올바른 접근 방식은 아니었지만 그렇지 않다면 무엇입니까?

변경 사항을 저장소에 추가하고 싶으므로 이제 해당 project.fsl은 open, 나는 이것을 시도합니다:

$ fossil add .
 ADDED  Slides/tmp.tex

$ fossil commit -m "no idea what I'm doing, this will not end well"
 would fork.  "update" first or use --allow-fork.

$ fossil close
 there are unsaved changes in the current checkout

이 시점에서 이름이 지정된 모든 숨겨진 파일을 삭제합니다. .fslckout .fossil 다시 시도해도 마찬가지로 실망스러운 결과가 나옵니다.

솔직히 말해서 내 유일한 관심은 fossil 내 프로젝트의 기록을 보관하고 있습니다.공동저자가 없고 할 계획도 없습니다. fossil diff 또는 fossil ui 또는 그런 일이 결코 일어나지 않기를 바라면서 내 프로젝트의 역사를 파헤쳐야 할 때까지 말입니다.

편집하다. 저는 완전 초보자입니다.내가 의 의미를 이해하고 있는지 잘 모르겠습니다. checkout, manifest, leaf, 등.그래서 수많은 시간을 들여 노력했음에도 불구하고 매뉴얼에서 무엇이든 꺼내는 것이 매우 어렵습니다.이 페이지의 내용을 대부분 이해하지 못합니다. fossil open: http://fossil-scm.org/fossil/help/open

도움이 되었습니까?

해결책

fossil open ~이다 옳은 일.귀하의 경우에는 fossil close 그건 필요 없었어요.

이 시점에서 해야 할 일은 fossil open ../fossils/project.fsl --keep 모든 변경 사항을 유지하면서 저장소를 엽니다.

그만큼 열려 있는 명령은 현재 디렉토리를 다음으로 표시합니다. 작업 디렉토리 (화석 용어로, 점검).저장소나 작업 디렉터리 자체를 이동해야 할 때까지 닫지 않는 것이 좋습니다.개인적으로 그런 일은 다른 컴퓨터로 이동할 때만 발생합니다.

화석이 모든 변화를 식별하도록 하려면 다음을 수행하십시오. fossil addremove;그러면fossil은 모든 새 파일을 추가하고 삭제된 모든 파일을 제거하여 저장소가 작업 디렉터리와 다시 한 번 일치하도록 합니다.물론 나중에 변경 사항을 커밋해야 합니다.

메모 저것 addremove 하다 ~ 아니다 파일 이름 변경을 자동으로 인식합니다!파일 이름을 바꾼 경우 다음을 사용하여 각 파일에 대해 Fossil에 이를 알려야 합니다. fossil rename 명령, ~ 전에 당신은 addremove 명령.물론, 특정 파일의 편집 기록을 깨는 것이 괜찮다면 이를 건너뛸 수 있으며, 화석이 파일 하나가 삭제되고 대신 다른 파일이 추가되었다고 생각하게 할 수 있습니다.

다른 팁

낮은 예식과 쉬운 시작

단일 개발자의 경우 화석 저장소의 수명 주기는 매우 간단할 수 있습니다.

  1. fossil new 저장소 파일 자체를 생성합니다.
  2. fossil open 첫 번째(또는 아마도 유일한) 활성 작업공간을 생성하려면
  3. fossil add, fossil remove, fossil rename 그리고 fossil addremove 추적할 파일에 대한 정보를 화석에 계속 제공합니다.
  4. fossil commit 저장소에 변경 사항을 커밋하려면

여기서 3단계와 4단계는 프로젝트 수명 동안 필요에 따라 반복됩니다.

이는 화석의 가장 큰 장점 중 하나입니다.디자인 상 매우 낮은 의식입니다.매우 정교한 프로젝트를 단독으로 유지 관리할 수 있으며 실제로는 fossil commit 정기적으로.

다음 단계

정교함의 다음 단계는 여러 방향으로 진행될 수 있습니다.프로젝트 작업을 두 번째 개발자와 공유하려면 저장소 복제 및 업데이트 동기화에 대해 자세히 알아보세요.트렁크 빌드를 중단하지 않고 기능에 대한 독립적인 작업을 허용하려면 분기 및 병합에 대해 자세히 알아볼 수 있습니다.위키와 티켓 추적기 기능을 활용하고 싶다면 다음에 대해 알아보세요. fossil ui, fossil server 또는 화석을 실행하도록 웹 서버를 구성하세요.

하지만 이러한 사용 사례 중 어느 것도 그렇지 않습니다. 필요하다 의 사용 fossil close 명령.실제로, 출력의 fossil help 최근에는 대부분의 사용자에게 필요한 짧은 명령 목록과 모든 명령의 긴 목록으로 분할되었습니다.그 부문에서는 fossil close 짧은 목록을 작성하지 않았습니다.간단한 파일 삭제로는 쉽게 수행할 수 없는 유일한 기능은 저장되지 않은 변경 사항이 아닌지 확인하고 사용 가능한 개인 체크아웃 목록에서 공개 체크아웃을 제거하는 것입니다. fossil all 명령.

화석 관련 어휘

심지어 단일 개발자라도 화석 문서에서 사용되는 용어 중 일부를 배우고 싶어할 것입니다.

  • "체크인":UUID 및 하나 이상의 태그로 식별되는 특정 파일 개정 세트입니다.
  • "점검":연관된 폴더 트리( fossil open) 특정 저장소를 사용합니다.대부분의fossil 명령은 현재 디렉토리가 공개 체크아웃 내에 있어야 합니다.
  • "UUID":화석 저장소에 저장된 특정 사물에 대한 고유 식별자입니다.실제로 UUID는 16진수로 표현된 SHA-1입니다.대부분의 경우 UUID는 고유하게 식별할 수 있을 만큼 전체 해시의 앞자리 숫자로 단축될 수 있습니다.일반적으로 대괄호 안에 8자리 또는 10자리 숫자로 표시됩니다.
  • "인공물":저장소에 저장된 파일 또는 기타 콘텐츠(위키 페이지, 티켓, 매니페스트 등)입니다.체크인하는 모든 파일은 아티팩트가 됩니다.각 체크인에 대한 모든 메타데이터(설명, 타임스탬프 등)도 마찬가지입니다.
  • "나뭇가지":일부 루트 체크인에서 분기되는 연속적인 체크인 라인입니다.브랜치는 병합 준비가 될 때까지 변경 사항을 따로 보관하거나 단순히 실수로 발생한 변경 사항을 포함하는 데 사용됩니다.
  • "잎":지점 끝의 체크인.
  • "트렁크":저장소의 첫 번째 분기 이름은 "트렁크"입니다.대부분의 다른 분기는 트렁크를 따라 체크인된 분기입니다.
  • "명백한":해당 체크인을 설명하는 메타데이터(사용자, 시간, 설명, 상위 체크인의 UUID 및 운반할 수 있는 태그)와 함께 특정 체크인에서 수정된 파일 목록이 매니페스트를 구성합니다.대부분의 사용자는 매니페스트에 대해 걱정할 필요가 없습니다. fossil commit 웹 인터페이스에서 볼 수 있습니다.

웹 인터페이스

모든 사용자는 화석에 대한 웹 인터페이스에 대해 배우고 싶어할 것입니다.쉬운 첫 번째 단계는 다음과 같습니다. fossil ui 공개 결제 내에서.타임라인에는 각 체크인에 대한 노드와 분기 및 병합을 표시하기 위해 그려진 선이 포함된 개발 기록이 표시됩니다.웹 인터페이스는 고도로 구성 가능하고 Wiki 및 티켓 추적기를 제공하며 프로젝트 및 저장소와 관련된 대부분의 설정을 조정할 수 있는 GUI도 제공합니다.

Fossil 자체는 저장소 콘텐츠를 위한 효율적인 웹 서버입니다.실제로 대부분의 페이지는 화석의 공식 웹 사이트 소스 코드 저장소에서 화석 자체로 화석으로 제공됩니다.

추가 도움이 필요한 출처

이외에도 웹사이트 및 개별 명령 도움말은 다음에서 사용할 수 있습니다. fossil help, 많은 사용자가 알아야 할 몇 가지 다른 리소스가 있습니다.

거기에는 화석 사용자 목록 지속적으로 높은 신호 대 잡음비를 유지합니다.도움이 되고 지식이 풍부한 많은 사용자와 마찬가지로 주요 개발자도 이에 주의를 기울입니다.목록에는 하나 이상의 보관소, 개발자가 새로운 기능과 계획을 논의할 수 있는 별도의 목록이 있지만,fossil-dev는 화석 자체의 내부 작업을 원하지 않는 한 흥미롭지 않습니다.

짐 쉼프(Jim Schimpf)는 튜토리얼이자 완전한 참고 자료가 될 수 있으며 모범 사례에 대한 몇 가지 조언이 포함되어 있습니다.읽어볼 가치가 충분히 있습니다.

웹 인터페이스에서 이해하는 모든 페이지 URL에 대한 문서와 함께 내장된 명령줄 도움말은 다음의fossil 웹 인터페이스에서도 사용할 수 있습니다. /help 저장소 사이트 내의 URL입니다.해당 도움말 텍스트에는 지원되지 않는 내부 테스트 명령을 포함하여 모든 명령에 대한 문서가 포함되어 있습니다.

그리고 마지막으로 여기 StackOverflow의 [화석 태그][태그]는 리소스로 무시할 수 없습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top