>  기사  >  개발 도구  >  버전 관리 도구 Git - 창고 관리.md

버전 관리 도구 Git - 창고 관리.md

齐天大圣
齐天大圣원래의
2020-06-16 15:41:052670검색

오늘은 Git 웨어하우스 관리에 대해 두 가지 측면에서 이야기해보겠습니다. 웨어하우스를 만들고 웨어하우스에 있는 파일의 변경 사항을 추적합니다.

Git 저장소 가져오기

git 저장소를 가져오는 방법에는 두 가지가 있습니다.

  • 초기화되지 않은 로컬 디렉터리를 저장소 디렉터리로 사용

  • 원격 호스트에서 기존 Git 프로젝트를 복제

아래 두 가지 방법을 보여드리겠습니다.

# mkdir learngit
# cd learngit/
# git init
Initialized empty Git repository in /root/learngit/.git

이런 식으로 현지 창고가 설립됩니다. 다음으로 원격으로 저장소를 복제하는 방법을 살펴보겠습니다.

# mkdir learngit2
# cd learngit2
# git clone git@github.com:*****/blog.git  learngit2

이 명령은 원격에서 Git 저장소를 복제하고 디렉터리를 learngit2로 수정하는 것을 의미합니다. 기본적으로 이 매개변수가 없으면 디렉토리 이름은 blog입니다.

웨어 하우스의 모든 업데이트 추적

우선 파일 상태에 대해 이야기해야 합니다. 넓은 관점에서 파일 상태는

  • Untracked(추적되지 않음)입니다.

  • 추적

추적 상태는 수정되지 않음, 수정됨, 임시로 구분됩니다. 추적되지 않은 파일은 저장소가 파일을 추적하지 않는다는 의미입니다.

버전 관리 도구 Git - 창고 관리.md

이제 이러한 파일의 상태를 보여드리겠습니다.

먼저 프로젝트 디렉터리에 새 파일을 생성합니다

# touch README.md

그런 다음 파일 상태를 확인해 보겠습니다. git status는 파일의 상태를 나열할 수 있습니다. 추가된 파일이 없으면 모두 나열한다는 의미입니다.

# git status README.md 
# On branch master
#
# Initial commit
#
# Untracked files:
#   (use "git add <file>..." to include in what will be committed)
#
# README.md
nothing added to commit but untracked files present (use "git add" to track)

README.md의 상태가 추적되지 않은 것을 볼 수 있습니다. 이제 다른 파일을 생성하여 Staging Area에 추가한 후 파일의 상태를 살펴보겠습니다.

# cat > index.php <<eof
> <?php
> phpinfo();
> eof
# git add index.php
# git status index.php 
# On branch master
#
# Initial commit
#
# Changes to be committed:
#   (use "git rm --cached <file>..." to unstage)
#
# new file:   index.php
#

변경 사항 아래에 파일이 표시되면 해당 파일이 임시로 저장되었다는 의미입니다. 그런 다음 index.php 파일을 다시 수정하고 무슨 일이 일어나는지 확인하세요.

# git status index.php 
# On branch master
#
# Initial commit
#
# Changes to be committed:
#   (use "git rm --cached <file>..." to unstage)
#
# new file:   index.php
#
# 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:   index.php
#

index.php 파일이 스테이징 영역과 비스테이징 영역 모두에 나타나는 것을 보셨나요? 다들 주목하세요! 이런 상황이 자주 발생합니다.

git add

이 명령의 기능에는 새 파일 추적, 수정된 파일을 준비 영역에 제출, 병합 중에 충돌하는 파일을 해결된 것으로 표시하는 기능이 포함됩니다.

수정 사항 보기

작업 영역 및 준비 영역에서 파일 수정 사항을 보는 방법. git diff를 직접 사용하세요.

# git diff 1.txt 
diff --git a/1.txt b/1.txt
index 3b18e51..a042389 100644
--- a/1.txt
+++ b/1.txt
@@ -1 +1 @@
-hello world
+hello world!

그럼 집결지와 창고의 변경사항을 확인하는 방법입니다. 이때 --staged 옵션을 추가해야 합니다.

# git diff --staged 1.txt 
diff --git a/1.txt b/1.txt
new file mode 100644
index 0000000..3b18e51
--- /dev/null
+++ b/1.txt
@@ -0,0 +1 @@
+hello world

요약하려면

  • 작업 공간 및 준비 영역 파일의 수정 사항을 보려면 git diff [파일 이름]을 사용하세요.

  • 준비 영역 및 웨어하우스 파일의 수정 사항을 보려면 git diff --staged를 사용하세요. [파일 이름]

업데이트 제출

git commit을 사용하여 업데이트를 제출하고 스테이징 영역의 콘텐츠를 창고에 제출합니다.

일반적으로 이번에 제출한 업데이트 정보를 함께 작성하려면 -m 옵션을 사용하는 것을 선호합니다. 다음과 같습니다:

# git commit -m &#39;first commit.add a txt file&#39;

-m 옵션을 추가하지 않으면 편집기에서 업데이트된 정보를 제출할 수 있는 편집기가 팝업됩니다. 업데이트 내용이 많아 한두 문장으로 끝낼 수 없다면 이 방법을 추천드려요.

위 내용은 버전 관리 도구 Git - 창고 관리.md의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.