git 버 전 라 이브 러 리 만 들 기동력 노드 자바 대학 정리

버 전 라 이브 러 리 가 뭐 죠?버 전 라 이브 러 리 는 창고 라 고도 부 릅 니 다.영문 이름 reposcory 는 하나의 디 렉 터 리 로 간단하게 이해 할 수 있 습 니 다.이 디 렉 터 리 안의 모든 파일 은 Git 에 의 해 관리 되 고 모든 파일 의 수정,삭제,Git 은 추적 할 수 있 습 니 다.언제든지 역 사 를 추적 하거나 언제 든 복원 할 수 있 습 니 다.
따라서 버 전 라 이브 러 리 를 만 드 는 것 은 매우 간단 합 니 다.우선 적당 한 곳 을 선택 하여 빈 디 렉 터 리 를 만 듭 니 다.

$ mkdir learngit
$ cd learngit
$ pwd
/Users/michael/learngit
pwd 명령 은 현재 디 렉 터 리 를 표시 하 는 데 사 용 됩 니 다.내 Mac 에 있 는 이 창 고 는/Users/michael/learngit 에 있 습 니 다.
Windows 시스템 을 사용 하면 알 수 없 는 문제 가 발생 하지 않도록 디 렉 터 리 이름(부모 디 렉 터 리 포함)에 중국어 가 포함 되 어 있 지 않 은 지 확인 하 십시오.
두 번 째 단 계 는 git init 명령 을 통 해 이 디 렉 터 리 를 Git 이 관리 할 수 있 는 창고 로 만 듭 니 다.

$ git init
Initialized empty Git repository in /Users/michael/learngit/.git/
순간 Git 은 창 고 를 다 지 었 습 니 다.그리고 빈 창고(empty Git reposcory)라 고 알려 주 었 습 니 다.세심 한 독자 들 은 현재 디 렉 터 리 에 git 디 렉 터 리 가 하나 더 있 는 것 을 발견 할 수 있 습 니 다.이 디 렉 터 리 는 Git 이 버 전 라 이브 러 리 를 추적 관리 하 는 것 입 니 다.일이 없 으 면 이 목록 에 있 는 파일 을 수 동 으로 수정 하지 마 세 요.그렇지 않 으 면 흐 트 러 지면 Git 창 고 를 파괴 합 니 다.
.git 디 렉 터 리 를 보지 못 했다 면 이 디 렉 터 리 는 기본적으로 숨겨 져 있 기 때문에 ls-ah 명령 으로 볼 수 있 습 니 다.
반드시 빈 디 렉 터 리 에 Git 창 고 를 만 들 필 요 는 없습니다.이미 있 는 디 렉 터 리 를 선택 하 셔 도 됩 니 다.단,자신 이 개발 하고 있 는 회사 프로젝트 를 사용 하여 Git 을 배 우 는 것 을 권장 하지 않 습 니 다.그렇지 않 으 면 모든 결 과 는 책임 지지 않 습 니 다.
버 전 라 이브 러 리 에 파일 추가
우선 모든 버 전 관리 시스템 은 텍스트 파일 의 변경 만 추적 할 수 있 습 니 다.예 를 들 어 TXT 파일,웹 페이지,모든 프로그램 코드 등 Git 도 예외 가 아 닙 니 다.버 전 관리 시스템 은 5 줄 에'Linux'라 는 단 어 를 추가 하고 8 줄 에서'Windows'라 는 단 어 를 삭제 하 는 등 매번 변경 사항 을 알려 줄 수 있다.한편,그림,동 영상 등 바 이 너 리 파일 은 버 전 관리 시스템 에서 관리 할 수 있 지만 파일 의 변 화 를 추적 할 수 없어 바 이 너 리 파일 을 매번 바 꾸 어 연결 할 수 밖 에 없다.즉,그림 이 100 KB 에서 120 KB 로 바 뀌 었 는 지 만 알 수 있 지만 도대체 무엇 을 바 꾸 었 는 지 버 전 관리 시스템 은 모 르 고 알 수 없다.
불 행 히 도 Microsoft 의 Word 형식 은 바 이 너 리 형식 이기 때문에 버 전 관리 시스템 은 Word 파일 의 변경 사항 을 추적 할 수 없습니다.앞에서 예 를 들 어 보 여 주 는 것 은 버 전 관리 시스템 을 진정 으로 사용 하려 면 일반 텍스트 로 파일 을 작성 해 야 합 니 다.
텍스트 는 인 코딩 이 있 기 때문에 예 를 들 어 중국어 에 자주 사용 되 는 GBK 인 코딩 이 있 고 일본 어 는 Shift 가 있 습 니 다.JIS 인 코딩 은 과거 사 에 남 아 있 는 문제 가 없 으 면 표준 UTF-8 인 코딩 을 강력 히 권장 하 며,모든 언어 는 동일 한 인 코딩 을 사용 해 충돌 없 이 모든 플랫폼 에서 지원 한다.
윈도 우즈 를 사용 하 는 어린이 신발 은 특히 주의해 야 한다.
윈도 우즈 가 가지 고 있 는 메모 장 을 사용 하여 어떤 텍스트 파일 도 편집 하지 마 세 요.이 유 는 Microsoft 가 수첩 을 개발 한 팀 이 매우 약 한 행동 으로 UTF-8 인 코딩 된 파일 을 저장 하기 때 문 입 니 다.그들 은 똑똑 하 게 모든 파일 의 시작 부분 에 0 xefbbbf(16 진법)문 자 를 추 가 했 습 니 다.예 를 들 어 인터넷 페이지 의 첫 줄 에'?'가 표 시 될 수 있 습 니 다.분명 정확 한 프로그램 이 컴 파일 되 자마자 문법 오 류 를 보고 하 는 등 모두 수첩 의 약 한 행동 에 의 해 가 져 온 것 이다.메모 장 대신 메모 장+를 다운로드 하 는 것 을 권장 합 니 다.기능 이 강 할 뿐만 아니 라 무료 입 니 다!Notepad+의 기본 인 코딩 을 UTF-8 without BOM 으로 설정 하면 됩 니 다.

본론 으로 돌아 가면,지금 우 리 는 readme.txt 파일 을 작성 합 니 다.내용 은 다음 과 같 습 니 다.
Git is a version control system.
Git is free software.
learngit 디 렉 터 리 아래(하위 디 렉 터 리 도 가능)에 두 어야 합 니 다.Git 창고 이기 때문에 다른 곳 에 두 면 Git 이 아무리 강해 도 이 파일 을 찾 을 수 없습니다.
코끼리 를 냉장고 에 넣 는 데 3 단계 가 필요 한 것 보다 Git 창고 에 파일 하 나 를 넣 는 데 두 단계 가 필요 하 다.
첫 번 째 단 계 는 git add 명령 으로 Git 에 파일 을 창고 에 추가 합 니 다.

$ git add readme.txt
위의 명령 을 실행 하고 아무런 표시 도 하지 않 는 것 이 맞다.유 닉 스 의 철학 은'소식 이 없 으 면 좋 은 소식'으로 추가 성공 을 설명 한다.
두 번 째 단 계 는 git commit 명령 으로 Git 에 게 파일 을 창고 에 제출 하 라 고 알려 줍 니 다.

$ git commit -m "wrote a readme file"
[master (root-commit) cb926e7] wrote a readme file
 1 file changed, 2 insertions(+)
 create mode 100644 readme.txt
git commt 명령 을 간단하게 설명 하 십시오.-m 뒤에 입력 한 것 은 이번 제출 한 설명 입 니 다.임의의 내용 을 입력 할 수 있 습 니 다.물론 의미 가 있 는 것 이 좋 습 니 다.그러면 역사 기록 에서 변경 기록 을 편리 하 게 찾 을 수 있 습 니 다.
귀찮아 서-m"xxx"입력 안 하면 안 돼 요?확실히 이렇게 할 수 있 는 방법 이 있 지만,당신 에 게 이렇게 하 는 것 을 강력 히 건의 하지 않 습 니 다.왜냐하면 입력 설명 은 자신 이 다른 사람 에 게 읽 는 것 에 매우 중요 하기 때 문 입 니 다.설명 을 입력 하고 싶 지 않 은 동 화 는 스스로 구 글 을 사용 하 세 요.이 인 자 를 알려 주지 않 겠 습 니 다.
git commt 명령 이 실 행 된 후에 1 개의 파일 이 변경 되 었 음 을 알려 줍 니 다.(우리 가 새로 추가 한 readme.txt 파일)두 줄 의 내용 을 삽입 하 였 습 니 다.(readme.txt 는 두 줄 의 내용 이 있 습 니 다.)
Git 에서 파일 을 추가 하려 면 왜 add,commt 를 두 단계 씩 추가 해 야 합 니까?commt 는 한 번 에 많은 파일 을 제출 할 수 있 기 때문에 여러 번 다른 파일 을 추가 할 수 있 습 니 다.예 를 들 어:

$ git add file1.txt
$ git add file2.txt file3.txt
$ git commit -m "add 3 files."
우 리 는 readme.txt 파일 을 성공 적 으로 추가 하고 제출 했 습 니 다.이 제 는 계속 일 할 때 가 되 었 습 니 다.그래서 우 리 는 readme.txt 파일 을 계속 수정 하여 다음 과 같은 내용 으로 바 꾸 었 습 니 다.
Git is a distributed version control system.
Git is free software.
현재 git status 명령 을 실행 하여 결 과 를 보십시오.

$ git status
# On branch master
# Changes not staged for commit:
# (use "git add <file>..." to update what will be committed)
# (use "git checkout -- <file>..." to discard changes in working directory)
#
# modified: readme.txt
#
no changes added to commit (use "git add" and/or "git commit -a")
git status 명령 은 창고 의 현재 상 태 를 항상 파악 할 수 있 습 니 다.위의 명령 은 readme.txt 가 수정 되 었 지만 제출 할 수정 이 준비 되 어 있 지 않 습 니 다.
Git 이 readme.txt 가 수정 되 었 다 고 알려 주 었 지만 구체 적 으로 어떤 내용 을 수 정 했 는 지 볼 수 있다 면 좋 을 것 이다.예 를 들 어 2 주 동안 휴가 를 내 고 외국 에서 돌 아 왔 을 때 첫 출근 할 때 지난번 에 어떻게 수정 한 readme.txt 를 기억 하지 못 하기 때문에 git diff 라 는 명령 을 사용 해 봐 야 합 니 다.

$ git diff readme.txt 
diff --git a/readme.txt b/readme.txt
index 46d49bf..9247db6 100644
--- a/readme.txt
+++ b/readme.txt
@@ -1,2 +1,2 @@
-Git is a version control system.
+Git is a distributed version control system.
 Git is free software.
git diff 는 말 그대로 difference 를 보 는 것 입 니 다.표 시 된 형식 은 바로 유 닉 스 가 사용 하 는 diff 형식 입 니 다.위의 명령 출력 에서 볼 수 있 습 니 다.첫 줄 에'distributed'단 어 를 추가 하 였 습 니 다.
readme.txt 에 대해 어떤 수정 을 했 는 지 알 게 된 후에 창고 에 제출 하면 훨씬 안심 이 됩 니 다.수정 을 제출 하 는 것 과 새 파일 을 제출 하 는 것 은 같은 두 단계 입 니 다.첫 번 째 단 계 는 git add 입 니 다.

$ git add readme.txt
마찬가지 로 출력 이 없습니다.두 번 째 git commt 를 실행 하기 전에 git status 를 실행 하여 현재 창고 의 상 태 를 봅 니 다.

$ git status
# On branch master
# Changes to be committed:
# (use "git reset HEAD <file>..." to unstage)
#
#  modified: readme.txt
#
git status 는 제출 할 수정 사항 은 readme.txt 를 포함 하여 다음 단계 에 안심 하고 제출 할 수 있 음 을 알려 줍 니 다.

$ git commit -m "add distributed"
[master ea34578] add distributed
 1 file changed, 1 insertion(+), 1 deletion(-)
제출 후,git status 명령 으로 창고 의 현재 상 태 를 봅 니 다:

$ git status
# On branch master
nothing to commit (working directory clean)
Git 은 현재 제출 할 수정 사항 이 없고 작업 디 렉 터 리 가 깨끗 하 다 고 알려 줍 니 다.
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.

좋은 웹페이지 즐겨찾기