https://www.youtube.com/watch?v=Z9dvM7qgN9s&t=846s (엘리의 dream coding)
시간을 역행~~
전 세계적으로 프로젝트를 git 이란 곳에서 관리 한다.
만약 실수를 해서 바로잡고 싶다면, 이전 버전으로 돌아 갈 수 있다.
code .
git config --global --user.name "Malza"
git config --global --user.email "my email"
git config user.name
git config user.email
git config --global core.autocrlf true
// 운영체제 마다 editor 에서 새로운 줄 바꿈을 할 때 들어가는 문자열이 달라진다.
// window 같은 경우 carriage-return 과 \r line feed \n 가 동시에 들어간다. \r\n
// mac 에서는 \n 하나만 들어간다.
// 그렇기 때문에 git repository 를 다양한 운영체제에서 쓰는 경우에 내가 수정하지 않았음에도
// 줄 바꿈 문자열이 달라져서 git histoty 나 git blame 을 거는데 문제가 있을 수 있다.
// 이를 위한 명령어가 autocrlf. 윈도우에서 true 로 저장하게 되면
// git 에 저장할 때는 carriage return 을 삭제하고 다시 git 에서 받아 올 때는 붙여준다.
// mac 에서 input 으로 저장하면 저장할때는 carriage 를 삭제하고, 받아올 때는 별다른 수정을 하지 않는다.
// 이메일을 받아온 text 를 붙여넣을 때 carriage return 이 붙을 수 있어서!
mkdir git
cd git
ls -al
git init 깃 초기화
rm -rf .git 깃 삭제
cd.. 상위 폴더로 한칸 이동
명령어 바꾸기
git config --global alias.st status //status 는 git 의 상태 출력. 이를 st로 바꿈
git st
echo hellow world! > a.txt
echo hellow world! > b.txt
echo hellow world! > c.txt
//master 의 색상이 바뀌었다. working directory 에 아직 commit 되지 않은 변경사항이 발생했다
//고 알려준다.

master branch 위에서 작업중이며,
아직 commit 되지 않았다.
untracked 된 파일 3개가 있다.
아직 commit 된 건 없지만, git add 를 통해서 track 할 수 있다.
git add a.txt
git st

commit 할 준비가 되어 있는 변경사항 으로 새로운 file a.txt 가 있다.
untracked files 로 b 와 c 가 있다.
add *.txt // txt 로 끝나는 모든 file
echo malza >> a.txt // 다음 줄에 malza 추가

modified 상태 된 것 확인 된다.
이제 a.txt 는 tracking 되고 있는 것이다.
다시 넣어주자
git add a.txt
그리고 전부 뺄 수도 있다고 알려준다.
(use "git rm --cached <file>..." to unstage) 라고!
git rm --cached * // 전부 빼줘
git add * // 파일 안에 있는거 전부 넣어줘
특정한 애들만 넣고 싶어
git add *.css // css 만 넣어
특정한 애들을 git 에 넣고 싶지 않다.
echo *.log > .gitignore // log 확장자 애들은 추가하고 싶지 않다.
git st -h // help
git st -s
// 다음과 같이 뜬다.
A c.txt // A 가 초록색. A 라는 것은 c 라는 file 이 추가 되었다. staging area 에 들어있다.
A style.css
?? .gitignore // 아직 tracking 이 되지 않는다.
git diff // working directory 범위 한정
// 다음과 같이 뜬다..
diff --git a/c.txt b/c.txt.
index 12a8798..311c32c 100644
--- a/c.txt
+++ b/c.txt
@@ -1 +1,2 @@
hello world!
+add
한줄씩 살펴보면
a/ : 이전버전. 이전에 commit 된 버전 또는 staging area에 변경된
내용이 있다면 그것이 이전 버전.
b/ : 현재 버전
index : git 내부적으로 파일을 첨부할 때 사용된다.
a/c 파일과 b/c 파일을 비교한다.
-1 : 이전 파일의 첫번째 줄을봐.
+1 : 현재 파일의 첫번째 줄에서 두번째 줄까지 확인해
add 가 추가되어서 + 초록색!
빠졌다면, - 빨간색!