Latest web development tutorials

망할 놈의 기본 조작

망할 놈의 작업 작성 및 프로젝트의 스냅 샷 후 스냅 샷을 저장하고 비교하는 것입니다. 이 장에서는 작성 및 프로젝트 스냅 샷 명령 소개를 제출에 대한 것입니다.


프로젝트를 생성하는 명령 연락 드릴

자식 초기화

자식 초기화로 Git 저장소에서 새 디렉토리를 만듭니다. 당신은 언제든지 디렉토리를 할 수있는, 완전히 현지화.

집행 자식 초기화는 디렉토리에, 당신은 Git 저장소를 만들 수 있습니다. 예를 들어, 우리는 w3big 항목을 만든 :

$ mkdir w3big
$ cd w3big/
$ git init
Initialized empty Git repository in /Users/tianqixin/www/w3big/.git/
# 在 /www/w3big/.git/ 目录初始化空 Git 仓库完毕。

지금 당신은 당신의 프로젝트에 생성 된 .git 디렉토리를 볼 수 있습니다. 이것은 당신의 Git 저장소이며, 프로젝트의 스냅 샷과 관련된 모든 데이터가 여기에 저장됩니다.

ls -a
.	..	.git

자식 클론

그들이 항목을 보거나 수정할 수 있도록 자식이, 로컬 복사본에 Git 저장소를 복제 할 수 있습니다.

당신이 다른 사람들과 협력 사업이 필요하거나,이 코드를 보면 프로젝트를 복사 할 경우, 프로젝트를 복제 할 수 있습니다. 실행

 git clone [url]

항목 [URL이] 당신은 그것을 복사 할.

예를 들어, 우리는 Github에서의 프로젝트를 클로닝 :

$ git clone [email protected]:schacon/simplegit.git
Cloning into 'simplegit'...
remote: Counting objects: 13, done.
remote: Total 13 (delta 0), reused 0 (delta 0), pack-reused 13
Receiving objects: 100% (13/13), done.
Resolving deltas: 100% (2/2), done.
Checking connectivity... done.

복제가 현재 디렉토리에 완료되면 디렉토리 simplegit를 생성합니다 :

$ 카드뮴 simplegit / $ LS의 README Rakefile lib 디렉토리

동작은 프로젝트의 모든 레코드를 복사합니다.

$ ls -a
.        ..       .git     README   Rakefile lib
$ cd .git
$ ls
HEAD        description info        packed-refs
branches    hooks       logs        refs
config      index       objects

기본적으로, 힘내는 로컬 프로젝트 디렉토리를 생성 할 항목을 표시 지정된 URL의 이름을 따릅니다. URL은 후 / 보통 마지막 항목 이름입니다. 다른 이름을 원하는 경우에, 당신은 당신이 명령 다음에 원하는 이름을 추가 할 수 있습니다.


기본 스냅 샷

망할 놈의 작업 작성 및 프로젝트의 스냅 샷 후 스냅 샷을 저장하고 비교하는 것입니다. 이 장에서는 프로젝트의 스냅 샷을 만드는 방법에 대해하고 명령 소개를 제출합니다.

자식 추가

자식 우리는 다음과 같은 두 개의 파일을 추가로 캐시에 파일을 추가 할 명령을 추가 :

$ touch README
$ touch hello.php
$ ls
README		hello.php
$ git status -s
?? README
?? hello.php
$ 

자식 상태 명령은 프로젝트의 현재 상태를 확인하는 데 사용됩니다.

다음에 우리는 파일을 추가 할 명령을 추가 자식을 실행합니다

$ git add README hello.php 

이제 우리는 자식의 상태를 실행, 당신은이 두 문서가 이동이 추가되었습니다 볼 수 있습니다.

$ git status -s
A  README
A  hello.php
$ 

새 프로젝트, 우리는자식 추가 기능을 사용할 수 있습니다.명령을 현재 프로젝트의 모든 파일을 추가, 공통의 모든 파일을 추가합니다.

이제 우리는 README 파일을 수정 :

$ vim README
<pre>
<p>在 README 添加以下内容:<b># w3big Git 测试</b>,然后保存退出。</p>
<p>再执行一下 git status:</p>
$ git status -s
AM README
A  hello.php

"AM"상태 파일이 우리가 변화가 캐시에 추가 한 후 것을 의미한다. 우리가 자식을 실행 변경 한 것은 캐시에 추가 할 명령을 추가 :

$ git add .
$ git status -s
A  README
A  hello.php

당신은 시간의 차기 보고서 스냅 숏에 포함 된 변경을 할 때, 우리는 자식 추가 기능을 실행해야합니다.

자식 상태

변경 사항이있는 경우 마지막 커밋 후 자식 상태를 확인합니다.

간단한 결과를 얻기 위해 매개 변수 -s 추가 할 때 나는이 명령을 보여 주었다. 이 매개 변수를 추가하지 않으면 출력을 상세하게 설명 :

$ git status
On branch master

Initial commit

Changes to be committed:
  (use "git rm --cached <file>..." to unstage)

	new file:   README
	new file:   hello.php

자식은 diff

집행 자식은 diff 자식 상태는 실행 결과의 세부 사항을 볼 수 있습니다.

DIFF 명령 이눔 및 기록 캐시를 수정되었지만 아직 차분 변화를 캐시에 기록되었는지 표시한다. 자식은 두 가지 시나리오가 있습니다 DIFF.

  • 하지 캐시변경 : 자식은 diff
  • 캐시변경보기 : 자식은 diff --cached
  • 보기 캐시와 캐시되지 않은 모든변경 사항 :자식은 diff HEAD
  • 오히려 전체사랑하는 것보다보기 요약 :자식은 diff --stat

hello.php 파일에서 다음을 입력합니다 :

<?php
echo '本教程:www.w3big.com';
?>
$ git status -s
A  README
AM hello.php
$ git diff
diff --git a/hello.php b/hello.php
index e69de29..69b5711 100644
--- a/hello.php
+++ b/hello.php
@@ -0,0 +1,3 @@
+<?php
+echo '本教程:www.w3big.com';
+?>

마지막에 자식 상태 표시 업데이트 후 변경하거나 특정 라인과 자식은 diff에 의해 어떤 변경 사항을 캐시 변경 라인을 보여 쓰기 커밋합니다.

다음에 우리는 결과의 --cached 구현은 diff 다음 자식을 보러 오는 :

$ git add hello.php 
$ git status -s
A  README
A  hello.php
$ git diff --cached
diff --git a/README b/README
new file mode 100644
index 0000000..8f87495
--- /dev/null
+++ b/README
@@ -0,0 +1 @@
+# w3big Git 测试
diff --git a/hello.php b/hello.php
new file mode 100644
index 0000000..69b5711
--- /dev/null
+++ b/hello.php
@@ -0,0 +1,3 @@
+<?php
+echo '本教程:www.w3big.com';
+?>

자식 커밋

버퍼 창고에 내용을 추가합니다 커밋 자식 스냅 샷 버퍼의 내용을 작성하려는 명령을 추가 자식을 사용하여 실행합니다.

각 기록 된 이름과 이메일 주소를 제출 힘내, 그래서 첫 번째 단계는 사용자 이름과 전자 메일 주소를 구성해야합니다.

$ git config --global user.name 'w3big'
$ git config --global user.email [email protected]

다음에 우리는 캐싱을 쓰기 및 hello.php에 모든 변경 사항을 제출합니다. 첫 번째 예제에서, 우리는 의견을 제출하도록 명령 줄을 제공하기 위해 -m 옵션을 사용합니다.

$ git add hello.php
$ git status -s
A  README
A  hello.php
$ $ git commit -m '第一次版本提交'
[master (root-commit) d32cf1f] 第一次版本提交
 2 files changed, 4 insertions(+)
 create mode 100644 README
 create mode 100644 hello.php
 

이제 우리는 스냅 샷을 기록했다고. 우리는 자식의 상태를 실행하는 경우 :

$ git status
# On branch master
nothing to commit (working directory clean)

위의 출력은, 우리가 마지막으로 제출 한 후, 변경하지 않았 음을 보여준다 "작업 디렉토리가 깨끗한 :. 깨끗한 작업 디렉토리"

당신은 -m 옵션을 설정하지 않으면, 힘내 제출 한 정보를 입력하는 편집기를 열려고합니다. 당신이 구성에서 관련 정보를 찾을 수없는 경우, 기본 정력을 엽니 다 힘내. 화면이 다음과 같이 표시됩니다 :

# Please enter the commit message for your changes. Lines starting
# with '#' will be ignored, and an empty message aborts the commit.
# On branch master
# Changes to be committed:
#   (use "git reset HEAD <file>..." to unstage)
#
# modified:   hello.php
#
~
~
".git/COMMIT_EDITMSG" 9L, 257C

당신이 자식 추가 캐시 과정이 너무 복잡 제출 생각한다면, 힘내는이 단계를 건너 뛰려면 -a 옵션을 사용할 수 있습니다. 다음과 같이 명령 형식은 다음과 같습니다

git commit -a

의는 다음과 같은 hello.php 파일을 수정하자 :

<?php
echo '本教程:www.w3big.com';
echo '本教程:www.w3big.com';
?>

그런 다음 명령을 실행합니다 :

git commit -am '修改 hello.php 文件'
[master 71ee2cb] 修改 hello.php 文件
 1 file changed, 1 insertion(+)

자식 리셋 HEAD

자식은 캐시 된 콘텐츠를 제거 HEAD 명령을 재설정합니다.

다음의이 파일의 README 파일을 변경하자 :

# w3big Git 测试
# 本教程 

다음과 같은 hello.php 파일 개정 :

<?php
echo '本教程:www.w3big.com';
echo '本教程:www.w3big.com';
echo '本教程:www.w3big.com';
?>

이 수정 된 파일이 완충 지대에 제출 이제 한 후 다음과 같이 우리는 지금, 캐시 중 하나를 취소하려면 :

$ git status -s
 M README
 M hello.php
$ git add .
$ git status -s
M  README
M  hello.pp
$ git reset HEAD -- hello.php 
Unstaged changes after reset:
M	hello.php
$ git status -s
M  README
 M hello.php

지금 당신은 자식이 변경 사항 만 제출됩니다 README 파일을 커밋 실행되지만 hello.php 없습니다.

$ git commit -m '修改'
[master f50cfda] 修改
 1 file changed, 1 insertion(+)
$ git status -s
 M hello.php

당신은 변경 hello.php 파일을 확인하고 제출 할 수 있습니다.

그 다음 우리는 제출 hello.php 수정하려면 다음 명령을 사용할 수 있습니다 :

$ git commit -am '修改 hello.php 文件'
[master 760f74d] 修改 hello.php 文件
 1 file changed, 1 insertion(+)
$ git status
On branch master
nothing to commit, working directory clean

즉, 추가 추가 자식 전에 취소 할 자식 리셋 HEAD를 수행하지만, 커밋 다음에 스냅 샷 캐시에 포함하지 않습니다.

자식 RM

자식 RM 항목은 캐시에서 제거됩니다. 이 자식 리셋 HEAD는 캐시 항목이 다른 취소 할 수 있습니다. 복구가 이전 방법 캐시을 변경할 것을 의미한다 "캐시 취소"를 선택합니다.

기본적으로 자식 RM 파일은 캐시 파일 및 하드 드라이브 (작업 디렉토리)에서 삭제됩니다.

당신이 작업 디렉토리에있는 파일을 유지하려면, 당신은--cached 자식 RM을 사용할 수 있습니다 :

우리는 파일을 hello.php 분리 할 때 :

$ git rm hello.php 
rm 'hello.php'
$ ls
README

작업 공간에서 파일을 삭제하지 않습니다 :

$ git rm --cached README 
rm 'README'
$ ls
README

자식 MV

,이눔 모든 일이 --cached동작 명령을RM은할 디스크에있는 파일의 이름을 변경 한 다음 자식이 캐시에 새 파일을 추가하기 위해 추가 실행 MV 명령을 이눔 아.

README 우리는 먼저 다시 추가 바로 제거 :

$ git add README 

그리고 그 같은 이름 :

$ git mv README  README.md
$ ls
README.md