목차
업데이트 된 버전
파일 수정
readme.txt가 이전에 생성되었으므로 이제 내용을 업데이트하십시오.
Git is a version control system.
Git is free software.The 1st update
이때 지침을 입력 git status
git status
하면 창고의 현재 상태를 추적 할 수 있습니다.
마지막 문장은 다음과 같이 알려줍니다. readme.txt
수정되었지만 아직 커밋되지 않았습니다 (커밋).
수정 된 콘텐츠보기
git status
명령을 사용하여 파일이 수정되었음을 알 수 있지만 무엇이 수정되었는지는 알 수 없습니다.
예를 들어 봄 축제가 끝난 후 다시 일할 때 이전에 수정 한 내용을 잊어 버린 경우 다음 명령 을
사용해야합니다.git diff
git diff readme.txt
위의 출력에서 마지막 줄에 텍스트 단락을 추가했음을 알 수 있습니다.
업데이트 및 제출
우리는 git diff
수정 된 내용을 볼 수 있고, 그것을 알고 후, 우리는 안전하게 창고로 제출할 수 있습니다.
첫 번째 단계git add
git add readme.txt
문제가 없음을 나타내는 출력이 없습니다.
두 번째 git commit
제출을 수행하기 전에 git status
창고의 현재 상태를 살펴 보겠습니다.
git status
여기에서 제출할 readme.txt
파일 을 볼 수 있으며
녹색은 작업 영역을 나타냅니다. 다음 기사에서 이에 대해 설명하겠습니다.
두번째 단계git commit
git commit -m "the 1st update"
마지막으로 git git status
상태를 확인하면
현재 제출해야 할 변경 사항이 없으며 작업 디렉토리가 깨끗하다는 것을 알 수 있습니다.
버전 롤백
버전 롤백 전에 연습을하시면 업데이트 된 버전
이 readme.txt
다음과 같이 수정됩니다.
Git is free software.The 2st update
창고에 추가하는 방법을 직접 연습 해보세요. 이전 내용을 잊은 경우
-
이와 같은 파일을 계속 수정하고 업데이트 한 다음 계속해서 저장소에 제출하십시오.
RPG 게임을하는 것처럼 레벨을 통과 할 때마다 게임 진행 상황이 자동으로 저장되며, 특정 레벨을 통과하지 못한 경우 이전 레벨의 아카이브를 열람하도록 선택할 수 있습니다. 때로는 보스를 치기 전에 수동으로 디스크를 저장하여 보스의 타격이 실패하면 가장 가까운 곳에서 다시 시작할 수 있습니다. -
Git은 동일합니다. 파일이 어느 정도 수정되었다고 느낄 때마다 "스냅 샷을 저장"할 수 있습니다.이 스냅 샷을 Git에서 commit이라고합니다. 파일을 엉망으로 만들거나 실수로 파일을 삭제 한 후에는 마지막 커밋에서 복원하고 몇 달 간의 작업 결과를 모두 잃는 대신 작업을 계속할 수도 있습니다.
업데이트 내역보기
파일 읽기를 위해 게임을 준비 할 때 모든 아카이브를 확인해야하며, 버전 업데이트에 문제가있는 경우 이전 버전을 모두 확인해야합니다.
여기서 우리는 스스로 검토합니다.
원본
Git is a version control system.
Git is free software.
첫 번째 업데이트
Git is a version control system.
Git is free software.The 1st update
두 번째 업데이트
Git is free software.The 2st update
물론 직장에서는 위와 같이 명확하게 기억할 수 없으며 결국 수백 줄의 코드가 작동합니다.
수행하는 방법?
사용하다git log
빨간색 상자는 git commit -m "xxxxxx"
따옴표로 묶인 로그 입니다.
출력 정보가 너무 많으면 --pretty=omline
매개 변수 를 추가 할 수 있습니다 .
git log --pretty=oneline
이것은 약간 상쾌
하지만 제출자와 이메일 주소가 없어도 여전히 업데이트 시간이 있습니다.
노란색 문자열은 commit id
(버전 번호)로 SVN과 다릅니다. Git commit id
은 1, 2, 3이 아니지만 SHA1에 의해 계산 된 16 진수로 표현 된 매우 큰 숫자이며 커밋 ID는 확실히 내 것과 동일하지 않습니다. , 자신에 따라 다릅니다.
commit id
(버전 번호) 가있는 이유
버전 번호를 사용하여 반환 할 버전, 즉 게임 저장을 선택할 수 있습니다.
Git은 분산 버전 관리 시스템이기 때문에 나중에 동일한 버전 라이브러리에서 작업하는 여러 사람을 연구 할 것입니다. 모든 사람이 버전 번호로 1, 2, 3 ...을 사용하면 확실히 충돌 할 것입니다.
새 버전이 제출 될 때마다 Git은 실제로 자동으로 타임 라인에 연결합니다. 시각화 도구를 사용하여 Git 기록을 보는 경우 커밋 기록의 타임 라인을 더 명확하게 볼 수 있습니다.
버전 롤백
점프하려면 먼저 현재 버전을 알아야합니다.
Git에서 :
HEAD
현재 버전을 나타냅니다.HEAD^
이전 버전을 나타냅니다.HEAD^^
이전 버전을 나타냅니다.HEAD~100
최근 100 개 버전을 나타냅니다.
이제 현재 버전 the 2st update
을 이전 버전으로 롤백 the 1st update
하려면 다음 git reset
명령을 사용할 수 있습니다.
git reset --hard HEAD^
--hard
매개 변수의 의미는 무엇입니까? 나중에 얘기하겠습니다. 이제 자유롭게 사용하세요
readme.txt
콘텐츠 살펴보기
cat readme.txt
물론입니다. 복원되었습니다.
이전 버전으로 돌아 가기
롤백 후 후회하면 어떻게해야하나요?
먼저 확인 git log
하고 두 번째 업데이트가 사라 졌는지 확인하십시오 . 마치 타임머신을 사용하여 과거로 돌아가 미래로 돌아갈 수없는 것과 같습니다. 어떻게해야합니까?
창이 닫히지 않으면 찾을 수 있습니다 commit id
. 내 최신 버전 commit id
은5aa1503e270a325654e435872e12c2769253e6e5
그런 다음 우리는git reset --hard 版本号
git reset --hard 5aa15
실제로 버전 번호를 작성할 필요가 없으므로 처음 몇 자리 만 작성하면 Git에서 자동으로 찾을 수 있습니다.
물론 Git이 여러 버전 번호를 찾을 수 있고 어떤 버전인지 확인할 수 없기 때문에 한두 개만 작성할 수는 없습니다.
readme.txt
지금 봐 또 돌아 왔어
찾을 수 없으면 commit id
어떻게합니까?
Git은 사용자가 만드는 git reflog
모든 명령을 기록
하고 버전 번호를
볼 수 있으며 git reset --hard 版本号
다시 전달할 수 있습니다 .
Git 버전 전환 원리
Git은 내부적으로 현재 버전에 대한 HEAD 포인터를 가지고 있기 때문에 Git의 버전 롤백 속도는 매우 빠릅니다. 버전을 롤백 할 때 Git은the 2st update
┌────┐
│HEAD│
└────┘
│
└──> ○ 2ST 갱신
│
○ 1 차 업데이트
│
○ 쓴 readme 파일
改为 指向the 1st update
┌────┐
│HEAD│
└────┘
│
│ ○ 2 차 업데이트
│ │
└──> ○ 1 차 업데이트
│
○ readme 파일 작성
포인트가 변경되면 Git은 작업 공간의 파일을 업데이트합니다.
즉, HEAD
가리 키려는 버전을 찾을 수 있습니다.