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로 빠져나옴
'Git' 카테고리의 다른 글
210820(금) Git 1일차 - git환경설정 / git저장소 / 기본용어 (0) | 2021.08.20 |
---|