GitHub에 논문 올리기
초기화하고 보조 파일, 개인 저장소, 공동 작성자 병합을 정상으로 유지하는 습관을 무시하세요.
GitHub에 논문 올리기
LaTeX 원고는 일반 텍스트이므로 Git에 이상적입니다. 모든 초안은 돌아갈 수 있는 커밋이 되고, 모든 변경 사항은 라인 수준 차이로 표시되며, GitHub는 오프사이트 복사본과 공동 작성자가 현재 상태를 가져올 수 있는 방법을 제공합니다. 이 중 어느 것도 고급 Git이 필요하지 않습니다. 논문에는 일관되게 사용되는 다섯 가지 명령이 필요합니다.
초기 설정
git init# add a .gitignore for *.aux *.log *.out *.toc *.synctex.gzgit add main.tex refs.bib figures/git commit -m "Initial manuscript"gh repo create my-paper --private --source=. --push프로젝트 폴더에서 한 번 실행해 보세요. .gitignore 단계는 보기보다 더 중요합니다. 모든 컴파일은 .aux, .log, .out, .toc 및 .synctex.gz 파일을 재생성하며, 해당 파일을 커밋하면 실제 변경 사항이 기계 소음에 묻혀 공동 작성자 간에 무의미한 병합 충돌이 발생합니다. 귀하가 작성한 내용만 추적하십시오: .tex 소스, .bib 데이터베이스, 그림, 장소에서 제공한 모든 클래스 또는 스타일 파일. PDF도 빌드 제품입니다. 대부분의 팀은 이를 생략하고 로컬로 다시 빌드하지만, 태그된 릴리스에 첨부하는 것이 제출된 버전을 동결하는 합리적인 방법입니다. 작업이 공개될 때까지 저장소를 비공개로 유지하세요. 출판되지 않은 원고는 색인을 생성할 대상이 아닙니다.
공동저자를 제정신으로 유지하는 습관
커밋할 때마다 “섹션 3 소개 수정” 또는 “절제 테이블 추가”와 같은 하나의 논리적 변경을 수행합니다. 그러면 이력은 논문의 이야기로 읽혀지고, 잘못된 편집은 부수적인 피해 없이 되돌릴 수 있습니다. 글쓰기 세션을 시작하기 전에 당기고, 멈출 때 밀어 넣으세요. 병합 충돌은 분기가 서로 떨어져 있는 시간에 따라 커집니다. 공동 작성자가 공유 브랜치를 끌어낸 후에는 강제로 푸시하지 마십시오. 그러면 공동 작성자의 발 밑에서 역사가 다시 작성됩니다. 대규모 바이너리 아티팩트(데이터세트, 비디오)를 종이 저장소에 보관하지 마세요. 아카이브에 연결하거나 별도의 데이터 저장소를 사용하세요. Git은 모든 바이너리의 모든 버전을 영원히 저장합니다.
LaTeX 특유의 한 가지 습관: 소스 라인당 한 문장을 작성하면 diff를 훨씬 더 쉽게 읽을 수 있습니다. 한 단어 편집은 리플로우된 단락 대신 한 줄 변경으로 표시되기 때문입니다.
Oleafly가 어떻게 적응하는가
모든 Oleafly 프로젝트는 디스크의 일반 폴더이므로 이러한 명령은 변경되지 않고 작동합니다. 또한 앱은 컴파일이 성공한 후 자동으로 Git 커밋을 생성할 수 있으므로 의도적인 커밋 사이에 세밀한 안전망을 제공합니다. Git 기록을 참조하세요. 패치 교환, 챕터 소유권 등 이를 기반으로 구축된 공동 작업 패턴은 라이브 커서 없는 공동 작성을 참조하세요.