728x90

khjg1@DESKTOP-0HT6R5T MINGW64 ~

                                   깃프로그램이름

 

//복습

khjg1@DESKTOP-0HT6R5T MINGW64 ~
$ git config --global user.name "angel" 

 

여기서 확인 가능

- 깃 저장소

khjg1@DESKTOP-0HT6R5T MINGW64 /d
$ cd git_home/git_repo/

khjg1@DESKTOP-0HT6R5T MINGW64 /d/git_home/git_repo (master)
$ ls -la
total 4
drwxr-xr-x 1 khjg1 197609 0 Aug 20 15:52 ./
drwxr-xr-x 1 khjg1 197609 0 Aug 20 15:42 ../
drwxr-xr-x 1 khjg1 197609 0 Aug 20 15:52 .git/

khjg1@DESKTOP-0HT6R5T MINGW64 /d/git_home/git_repo (master)   
$ rm -rf .git/                                                                         ->일반 파일로 바꾼다

 


<자바 파일 만들기>

<Git 저장소 생성 복습>

- Git 저장소로 사용할 디렉토리를 생성한다.
  => D:\git_home\git_repo 디렉토리 만들기
  => 윈도우 탐색기에 폴더로 작성해도 되고 리눅스로 만들어 된다
- git init 
  => 생성한 디렉토리를 Git이 저장소로 인식할 수 있도록 초기화한다.
  => 초기화하면 .git 디렉토리가 생성된다.
  => "." 이 붙어서 숨김 디렉토리로 인식한다.
  => 해제하려면 .git를 삭제하면 된다.

khjg1@DESKTOP-0HT6R5T MINGW64 /d/git_home/git_repo
$ git init                                                                              ->하고나면 저장소표시(master) 진입!
Initialized empty Git repository in D:/git_home/git_repo/.git/

 

khjg1@DESKTOP-0HT6R5T MINGW64 /d/git_home/git_repo (master)
$ vi HelloTest.java

 

* 중요

khjg1@DESKTOP-0HT6R5T MINGW64 /d/git_home/git_repo (master)
$ ll
total 0
-rw-r--r-- 1 khjg1 197609 0 Aug 23 16:40 HelloTest.java

khjg1@DESKTOP-0HT6R5T MINGW64 /d/git_home/git_repo (master)
$ cat HelloTest.java

khjg1@DESKTOP-0HT6R5T MINGW64 /d/git_home/git_repo (master)
$ git add HelloTest.java

khjg1@DESKTOP-0HT6R5T MINGW64 /d/git_home/git_repo (master)
$ git status
On branch master

No commits yet

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

 

khjg1@DESKTOP-0HT6R5T MINGW64 /d/git_home/git_repo (master)
$ git commit -m "First Commit"                                                       -> 커밋으로 버전 생성 완료!

                                                                                                      cf) -m 은 메세지를 보낸다는 뜻
[master (root-commit) dbfdbea] First Commit
 1 file changed, 0 insertions(+), 0 deletions(-)
 create mode 100644 HelloTest.java

 

khjg1@DESKTOP-0HT6R5T MINGW64 /d/git_home/git_repo (master)
$ git status
On branch master
nothing to commit, working tree clean                                      -> 이미 버전관리를 해놔서 이제 할꺼 없다라는 뜻


<이미 커밋했던 파일 새로 수정하는 과정>

 

khjg1@DESKTOP-0HT6R5T MINGW64 /d/git_home/git_repo (master)
$ vi HelloTest.java

khjg1@DESKTOP-0HT6R5T MINGW64 /d/git_home/git_repo (master)
$ cat HelloTest.java                                                              -> 조회
class HelloTest{
        public static void main(String[] args){
        System.out.println("Hello Git!!")
        }
}

khjg1@DESKTOP-0HT6R5T MINGW64 /d/git_home/git_repo (master)
$ git status
On branch master
Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)                            -> add 하고 커밋하라고 알려줌
  (use "git restore <file>..." to discard changes in working directory)
        modified:   HelloTest.java

no changes added to commit (use "git add" and/or "git commit -a")

khjg1@DESKTOP-0HT6R5T MINGW64 /d/git_home/git_repo (master)
$ git add *                                                                                           -> *: 모든파일 해달라는 말
warning: LF will be replaced by CRLF in HelloTest.java.
The file will have its original line endings in your working directory

khjg1@DESKTOP-0HT6R5T MINGW64 /d/git_home/git_repo (master)
$ git commit -m "Modify Commit";
[master 65a7930] Modify Commit
 1 file changed, 5 insertions(+)

khjg1@DESKTOP-0HT6R5T MINGW64 /d/git_home/git_repo (master)
$ git status                                                                                    -> 다시 status 하면 할꺼없다고 나온다!
On branch master
nothing to commit, working tree clean

 

=> add, commit 중요! 깃 사용법을 익히는 것이 중요!


<Git의 스테이징 단계>


- git add으로 진행되는 형상 관리가 3가지 영역에서 진행된다.

① 워킹 디렉토리
  - 소스 코드를 작업하는 영역으로 코드를 추가, 수정, 삭제하는 작업이 이루어지는 영역을 의미한다.
② 스테이징 영역
  - 워킹 디렉토리에서 git add 명령을 실행하면 파일들은 Git의 스테이징 영역으로 이동하며 이를 통해
     소스 코드의 상태 정보를 확인할 수 있다.
③ 저장소 영역
  - 스테이징 영역에 있는 소스 코드에 git commit 명령을 실행하면 최종적으로 Git의 저장소에 
    반영된다.

 


<파일 관점에서 Git의 4가지 상태>


① Untracked : 워킹 디렉토리에 추가되었지만 Git에서 관리하지 않는 상태
② Unmodified : 신규로 파일이 추가되었을 때의 상태로 new file 상태와 동일
③ Modified : 파일이 추가된 이후 해당 파일이 수정되었을 때의 상태
④ Staged : Git의 스테이징 영역에 반영된 상태

 


<스테이징에 있는 파일 삭제>

– git rm --cached 파일명

 

 

<Git 이력 조회 및 변경 내용 비교>

➀ 이력 관리 기능
  - 소스 코드가 언제 누구에 의해서 생성, 변경, 삭제를 했는 지 확인을 할 수 있다.
➁ 스냅샷
  - Git에서는 커밋이 이루어질 때마다 모든 형상 관리 파일들을 바이너리 형태로 묶어서 관리하는 것
  - Git에서 하나의 스냅샷은 하나의 커밋을 의미하며, 스냅샷 단위로 이력을 관리한다.
➂ git log
  - 이력 정보 확인
  - 커밋한 작업자, 일시, 메시지를 확인할 수 있다.
   git log –p
  - 버전과 버전사이의 코드 상태에서의 차이점을 비교
   git log –-oneline
  - commit id의 일부와 commit message만 보여준다.
➃ git diff
  - 저장소의 파일과 워킹 디렉토리에 있는 파일을 비교해, 파일내의 콘텐츠 변경 부분을 확인할 수 있다.

 


khjg1@DESKTOP-0HT6R5T MINGW64 /d/git_home/git_repo (master)
$ git log
commit 65a79305cb7e253810c8c9ba88bbee6c3bd1ab6a (HEAD -> master)
Author: angel <1103kimhyejin@gmail.com>
Date:   Mon Aug 23 17:15:42 2021 +0900

    Modify Commit

commit dbfdbeaf55e4f1e4e5151106b1d5271eeca35fde
Author: angel <1103kimhyejin@gmail.com>
Date:   Mon Aug 23 17:01:40 2021 +0900

    First Commit

khjg1@DESKTOP-0HT6R5T MINGW64 /d/git_home/git_repo (master)
$ git log -p
commit 65a79305cb7e253810c8c9ba88bbee6c3bd1ab6a (HEAD -> master)
Author: angel <1103kimhyejin@gmail.com>
Date:   Mon Aug 23 17:15:42 2021 +0900

    Modify Commit

diff --git a/HelloTest.java b/HelloTest.java
index e69de29..fa5141c 100644
--- a/HelloTest.java
+++ b/HelloTest.java
@@ -0,0 +1,5 @@
+class HelloTest{
+       public static void main(String[] args){
+       System.out.println("Hello Git!!")
+       }
+}

commit dbfdbeaf55e4f1e4e5151106b1d5271eeca35fde
Author: angel <1103kimhyejin@gmail.com>
Date:   Mon Aug 23 17:01:40 2021 +0900

    First Commit

diff --git a/HelloTest.java b/HelloTest.java
new file mode 100644
index 0000000..e69de29

khjg1@DESKTOP-0HT6R5T MINGW64 /d/git_home/git_repo (master)
$

khjg1@DESKTOP-0HT6R5T MINGW64 /d/git_home/git_repo (master)
$ git log --oneline
65a7930 (HEAD -> master) Modify Commit
dbfdbea First Commit

khjg1@DESKTOP-0HT6R5T MINGW64 /d/git_home/git_repo (master)
$ git diff

 

-> q로 빠져나옴

 

 


위에 두개를 한번에 마지막한줄로 가능

 

728x90

'Git' 카테고리의 다른 글

210820(금) Git 1일차 - git환경설정 / git저장소 / 기본용어  (0) 2021.08.20

+ Recent posts