Git 로 컬 창고 기본 작업 및 기술

Git 이 뭐야?
SVN 과 유사 하지만 SVN 보다 훨씬 강력 한 버 전 관리 시스템 ① Git 은 로 컬 에서 버 전 관 리 를 편리 하 게 할 수 있 습 니 다.로 컬 에 버 전 관리 서버 가 있 는 것 처럼 로 컬 버 전 을 통 일 된 버 전 관리 서버 ② Git 에서 매번 전체 코드 창고 의 전체 미 러 를 추출 할 수 있 습 니 다.전체 코드 창 고 를 백업 한 것 과 같 습 니 다.이렇게 시간 계산 버 전 서버 는 문 제 를 제외 하고 우 리 는 로 컬 창 고 를 직접 사용 하여 복원 할 수 있 습 니 다!로 컬 버 전 관리 기능 과 결합 하여 원 격 버 전 관리 서버 에 문제 가 생 겼 습 니 다.우 리 는 여전히 자신의 코드 를 계속 쓸 수 있 습 니 다.그 가 회복 되 었 을 때 우 리 는 우리 의 로 컬 버 전 을 다시 제출 할 수 있 습 니 다!Git 개발 초기 에는 리 눅 스 커 널 을 잘 관리 하기 위해 서 였 으 나 지금 은 각종 프로젝트 에 널리 응용 되 었 습 니 다!
Git 로 컬 창고 의 기본 동작 을 살 펴 보 겠 습 니 다.구체 적 인 내용 은 다음 과 같 습 니 다.
이름과 메 일 설정
Git 을 사용 할 때 이름과 이메일 주 소 를 설정 합 니 다.이름 은 반드시 영어 로 입력 해 야 한다.git config --global user.name "chuyaoxin" git config --global user.email [email protected]
명령 이 실 행 된 결 과 는'C:\Users\사용자 이름'경로 에서'gitconfig 파일'을 만 들 고 메모 장 으로 열 수 있 습 니 다.

이 정 보 를 변경 하려 면 이 설정 파일 을 직접 편집 할 수 있 습 니 다.여기에 설 치 된 이름과 이메일 주 소 는 Git 의 제출 로그 에 사 용 됩 니 다.GitHub 에 창 고 를 공개 할 때 이곳 의 이름과 이메일 주소 도 제출 로그 와 함께 공개 되 므 로 공개 하기 어 려 운 프라이버시 정 보 를 사용 하지 마 십시오.
창 고 를 만들다
"TestForGit"과 같은 새 폴 더 를 만 듭 니 다.
그리고 오른쪽 단 추 를 눌 러 서 Git Bash Here 를 선택 하 세 요.
오픈 후 입력git init코드 창고 구축 완료

입력ls -al을 하면 디 렉 터 리 아래 에'git'폴 더 가 있 는 것 을 볼 수 있 지만 이 디 렉 터 리 는 기본적으로 숨겨 져 있 습 니 다.

로 컬 코드 제출
제출 할 내용 을 add 명령 으로 추가 한 다음 commt 가 제출 작업 을 수행 합 니 다.
첫 번 째 단 계 는 git add 명령 으로 Git 에 파일 을 창고 에 추가 합 니 다.git add readme.txt두 번 째 단 계 는 git commit 명령 으로 Git 에 게 파일 을 창고 에 제출 하 라 고 알려 줍 니 다.git commit -m "write a readme file".gitignore
.gitignore 는 Git 의 무시 프로필 로 프로젝트 루트 디 렉 터 리 에 두 면 됩 니 다.코드 를 제출 할 때.gitignore 프로필 에 열 거 된 파일 을 추적 하지 않 습 니 다.또한.gitignore 파일 자 체 는 git 추적 관리 가 필요 하 므 로 무시 할 수 없습니다.
git add
용도:새 파일 을 추적 하거나 수 정 된 추적 파일 을 캐 시 에 추가 하거나 합 쳐 진 충돌 파일 을 해결 한 것 으로 표시 할 수 있 습 니 다.
git add 의 원래 뜻 은 현재 작업 디 렉 터 리 트 리 의 수정 내용 을 색인 에 업데이트 하 는 것 입 니 다(즉 캐 시 에서)
주로 두 가지 파일 을 대상 으로 합 니 다.(1)버 전 라 이브 러 리 에 추적 되 지 않 은 파일(2)버 전 라 이브 러 리 는 추적 되 었 으 나 수 정 된 파일 입 니 다.
또한 git add 는.gitignore 파일 이 무시 하 는 파일 을 자동 으로 무시 합 니 다.git add .파일 의 수정,파일 의 새로 만 들 기(주의!삭 제 된 파일 은 포함 되 지 않 음)임시 저장 소 에 추가 합 니 다.
git add.모든 untrack 파일 을 임시 저장 소 에 추가 하고.gitignore 에 따라 걸 러 냅 니 다.git add *git add*는 무시 합 니 다.gitignore 는 모든 파일 을 임시 저장 소 에 추가 합 니 다.git add -u파일 의 수정,파일 의 삭제(주의!add 된 파일 만 감시 하고 새 파일 은 포함 되 지 않 습 니 다)임시 저장 소 에 추가 합 니 다.u 는 update 를 표시 합 니 다.git add -A파일 의 수정,파일 의 삭제,파일 의 새로 만 들 기(add.add-u 와 의 집합 에 해당)를 임시 저장 소 에 추가 합 니 다.A 는 all 기 타 를 표시 합 니 다.git add -h명령 으로 볼 수 있 습 니 다.

$ git add -h
usage: git add [<options>] [--] <pathspec>...
  -n, --dry-run     dry run
  -v, --verbose     be verbose
  -i, --interactive   interactive picking
  -p, --patch      select hunks interactively
  -e, --edit      edit current diff and apply
  -f, --force      allow adding otherwise ignored files
  -u, --update     update tracked files
  --renormalize     renormalize EOL of tracked files (implies -u)
  -N, --intent-to-add  record only the fact that the path will be added later
  -A, --all       add changes from all tracked and untracked files
  --ignore-removal   ignore paths removed in the working tree (same as --no-all)
  --refresh       don't add, only refresh the index
  --ignore-errors    just skip files which cannot be added because of errors
  --ignore-missing   check if - even missing - files are ignored in dry run
  --chmod (+|-)x    override the executable bit of the listed files
  --pathspec-from-file <file>
             read pathspec from file
  --pathspec-file-nul  with --pathspec-from-file, pathspec elements are separated with NUL character
git commitgit commit -m "write a readme file"
여러 번git add을 사용 한 후에git commit를 사용 하여 제출 할 수 있다.
git commt 명령 에서 m 뒤에 입력 한 것 은 이번 제출 한 설명 입 니 다.임의의 내용 을 입력 할 수 있 지만 의미 가 있 는 것 이 좋 습 니 다.그러면 역사 기록 에서 변경 기록 을 편리 하 게 찾 을 수 있 습 니 다.
실행 에 성공 한 후 그림 에서 보 듯 이 한 파일 이 변경 되 어 6 줄 의 내용 을 삽입 했다.git status git status제출 되 지 않 은 파일 이 있 는 지git status명령 으로 확인 할 수 있 습 니 다.

위의 그림 은 현재 파일 이 정상적으로 제출 되 었 음 을 설명 한다.
만약 내 가 올 린 파일 을 수정 하지만 제출 하지 않 으 면 어떻게 됩 니까?

위 와 같은 실 수 를 하 겠 습 니 다!modified: readme.txt no changes added to commit
readme.txt 수정,제출 변경 없 음git diff git diff readme.txt git status정상 적 인 제출 여 부 를 알 수 있 습 니 다.예 를 들 어 위의 예 와 같이 파일 이 어떤 내용 을 수 정 했 는 지 보 려 면git diff 명령 을 사용 할 수 있 습 니 다.

이 명령 은 내 가 이 파일 에 대한 수정 기록 을 보 여 주 었 다.
제출 기록 보기git loggit log 를 사용 하면 과거 기록 제출 정 보 를 볼 수 있 습 니 다.

이 그림 에서 도 이전git commit -m "write a readme file"에서-m 부분의 역할 을 알 수 있다.이것 은 프로 그래 밍 할 때 주석 을 쓰 는 것 과 같 아서 쓰 지 않 아 도 되 지만 쓰 면 앞으로 의 작업 에 편리 하 다.
그리고 주의해 야 할 점 은 출력 결과 입 니 다.
분명히 나 는 두 번 이나 제출 한 것 이다.첫 번 째 결 과 를 예 로 들 면,
commit 418ee0fc27d78a71f5869451b5a1599cc028b0ca (HEAD -> master)
Author: chuyaoxin [email protected]
Date: Tue Aug 4 19:48:59 2020 +0800
write a readme file
대응 하 다
이번 버 전 번호 제출
제출 자:이름 이메일
제출 시간
버 전 수정 내용 제출:바로 우리git commit -m “xxx”의 xxx
제출 하지 않 은 변경 사항 을 취소 합 니 다.
파일 이 잘못 수정 되 었 고 Ctrl+S 로 저장 되 었 으 나 아직 제출 되 지 않 았 다 면 이전 변경 사항 을 취소 하려 면checkout명령 을 사용 할 수 있 습 니 다.
제출 하지 않 았 을 뿐만 아니 라 add 도 없습니다.
이 경우 한 마디git checkout 만 있 으 면 된다.
예 를 들 어git checkout readme.txt
이때 readme.txt 를 다시 열 면 이 파일 의 두 번 째 수정 이 취소 되 었 습 니 다.

add 가 되 었 지만 아직 제출 하지 않 았 습 니 다.
만약 우리 가 이미 add 를 했다 면,직접 checkout 은 아무런 소 용이 없습니다.우 리 는 먼저 추 가 를 취소 해 야 제출 을 철회 할 수 있 습 니 다.git reset HEAD readme.txt git checkout readme.txt버 전 되 돌리 기git reset만약 우리 가 이미 제출 했 지만 이전 버 전 으로 되 돌아 가 려 면git reset명령 을 사용 할 수 있 습 니 다.
예 를 들 어 제 가 먼저 readme.txt 에 한 줄 을 추가 한 다음 에git add readme.txt,git commit -m "add the third step"창고 에 추가 하고 제출 합 니 다.
완료 후 사용git log검사 제출 기록.

PS:이 그림 을 통 해 알 수 있 듯 이 최신 버 전 번 호 는 맨 위 에 표 시 됩 니 다git reset --hard HEAD.
git 에서 HEAD 는 현재 버 전 을 표시 하고 HEAD 는 이전 버 전 을 표시 하 며 HEAD^는 이전 버 전 을 표시 합 니 다.
이전 버 전 으로 되 돌아 가 려 면 다음 명령 을 순서대로 입력 해 야 합 니 다.git reset --hard HEAD git reset --hard HEAD^실행 결 과 는 다음 그림 과 같다.

다시 입력git log해 보 세 요.이때 버 전 번호 가 바 뀌 었 고 최근 에 수 정 된 버 전 번 호 는 표시 되 지 않 았 습 니 다.
git reset --hard 이 명령 은 현재 버 전 을 존재 하 는 임의의 버 전 으로 변경 할 수 있 습 니 다.
동시에 이 그림 을 자세히 살 펴 보면,

쉽게 짐작 할 수 있 습 니 다.사실 버 전 번 호 는 7 위 안에 만 입력 하면 됩 니 다.
그래서 우리 의 이전 반환 명령 은 이 걸 로 대체 할 수 있 습 니 다.git reset --hard 418ee0f git reflog만약 당신 이 버 전 을 반환 한 후에 최신 버 전이 좋 은 것 을 발견 한다 면,이때git log를 통 해 그 버 전 번 호 를 찾 을 수 없습니다.
사용 가능git reflog
분명히 버 전 반환 전의 최신 버 전 번 호 는14a5f92이다.
그리고 사용git reset --hard 14a5f92readme.txt 를 열 었 습 니 다.버 전 반환 으로 지 워 진 수정 사항 이 다시 돌 아 왔 습 니 다.

총결산
여기 서 Git 로 컬 창고 의 기본 작업 과 기술 에 관 한 글 은 여기까지 소개 되 었 습 니 다.더 많은 Git 로 컬 창고 의 기본 작업 내용 은 예전 의 글 을 검색 하거나 아래 의 관련 글 을 계속 조회 하 시기 바 랍 니 다.앞으로 저 희 를 많이 사랑 해 주세요!

좋은 웹페이지 즐겨찾기