DAY 19 - GIT (2024.07.29)

홈디렉토리가 어딘지 확인
D:
Git
lib
workspace

화면지우기 clear
ctrl + L
ctrl + C 나옴
Q 빠져나오려면
cd

ls

디렉토리는 뒤에 /이거 붙는다.
$ ls -l

자세히 보여줌
- → 파일
d → 디렉토리
$ ll

위와 동일하게 나옴
$ rm -rf test.txt

$ rm -rf git_exam

다 지움
$ git --version

$ git config --list

Git 저장소
- 저장소는 관리하고자 하는 모든 소스 코드 및 디렉토리가 저장되는
git init
→



직접 만들어도 생김
$ rm -rf test/

삭제하기
cd git_repo/


위치 움직일 때

$ git init
초기화 시켜주기


$ rm -rf .git/
일반 디렉토리가 된다.

branch 이름 main으로 바꾸기
$ git branch -M main

fruit.txt를 git_repo로 복사하기 내 위치


$ mkdir git_exam


git_repo 디렉토리 안에 있는 fruit.txt를 git_exam으로 복사
$ cp git_repo/fruit.txt git_exam

$ cat fruit.txt

(1) 기본 용어
- 트리(tree)
- 저작자
- 커미터
- 커밋 메시지
- 부모 커밋
워킹 디렉토리
↓
git add
↓
스테이징 영역
↓
git commit
↓
저장소 영역
→ 버전생성 → 로그 확인
$git add fruit.txt

아직 커밋하지 않았다.

커밋메시지와 함께 커밋
$ git commit -m "

$ git status

$ git log

내용 수정
$ vi fruit.txt

$ git add fruit.txt
$ git commit -m "Fruit.txt 수정"
$ git log

[파일관점에서 4가지 상태]
$ git log -p
파일내요 자세하게 보여줌

$ git log --oneline
한 줄로 보여준다.

[과거 특정 시점으로 돌아가는 방법]
- reset
- 초기화 (취소)
- 되돌린 이후 버전 삭제
- 이미 push한 상태라면 reset 할 수 없다.
- reset를 했기 때문에 git log를 보면 버전은 사라졌지만 수정된 파일의 내용은 그대로 남아있다.
다시 git add / git commit 해야한다.
2. revert
- 되돌리기
- 되돌린 이후 버전 유지
- 버전 아이디를 역순으로 하나씩 되돌려야 한다.
- revert ~~
3. 되돌리기
$ vi Test.java


$ git add Test.java

$ git commit -m "aaa"

$ git log --oneline

$ vi Test.java


esc :wq
$ cat Test.java

$ git reset --hard
만들거를 취소시킵니다.

이전 상태로 돌아감.

내용 추가

커밋까지 하기

내용 한 번 더 추가하고 커밋까지 하기기



Head의 위치를 111로 가게하면
그 전 두 개의 스냅샷을 날려버리는 것이다.
$ git reset 5cbb216

파일내용은 그대로이다.




파일 내용 건든것이 아니라 버전만 지운 것이다.



$ git reset 5cbb216


$ git reset --hard (내용도 삭제가 된다)


[revert]





<다시해보기>
$ git revert 35c5f3f
내꺼부터 취소하고 올라가야한다.

한 단계 한 단계 지우고 가야함.








내용수정


폴더 복사

위치 이

- git 저장소 만들기
- branch 이름 master에서 main으로 변경

3. 스테이징 영역 올리기


4. 버전 만들기

-------------------------------------------------------------------------------------
- 저장소 만들기 => 01_basic

-------------------------------------------------------------------------------------
5. origin 추가

6. 깃허브에 올리기


환경설정같은 경우는 ignore로 안 올릴 수 있다. 필요없으므로



이것도 git에 올려보기




원격저장소에서 fruit.txt 파일 수정 => 버전 생성
=> Update fruit.txt



팀장
- 이클립스 Java Project => gitTest
- Github에 올리시오
- 프로젝트 안에서 Settings 안에서 Collaborators에서 Add people
- 팀원 초대
팀원
1. 이메일통해서 초대수락
2. 프로젝트 clone