본문 바로가기
WIL&TIL/TIL

20230313 TIL

by 코드뭉치 2023. 3. 14.

    ※ 깃 ※

  1.  깃/깃허브란 무엇인지
  2.  깃/깃허브를 다루기 위한 기본 명령어 : cd, ls, touch, vi, cat …
  3.  깃으로 버전 만들기
  4.  깃허브에 버전 밀어넣기 (push하기) 
  5.  깃허브의 원격저장소를 내 컴퓨터로 복제해서 가지고오기 (clone하기)

* 깃이 없는 세상?


 > 변경 내역 확인이 어렵다 > 저장시 덮어쓰기가 되므로..업데이트했어요! > 뭐가 바뀌었죠?? > ㅁ?ㄹ

 > 작업을 되돌리기 어렵다 > 예전으로 돌려주세요ㅜㅠ, 버그가 너무 많아요ㅠ > 수정내역을 돌려야함...근데 없네?

 > 협력하기 어렵다 > 각각의 수정사항들을 확인하기 어렵다..


* 깃 > 위의 3가지 문제를 해결!!!
즉, 변경내역을 계속 확인하고, 작업을 특정 시점으로 되돌릴 수 있고, 협업에서 각각의 변경사항(=version)을 확인하기 쉬움!!
 


* 깃은 version(유의미한 변화가 결과물로 나온 것.)을 관리하기 위한 버전(없던 파일이 생기든, 있던 파일이 없어지든, 버그를 수정하든, 기능을 추가하든 모두 유의미한 변화)


유의미한 변화를 벽돌처럼 쌓아서 프로그램을 만들어나간다!!
version == commit == 유의미한 변화


* 깃허브 = 원격 저장소 호스팅 서비스, 개발자들의 sns

 

* 깃이 관리하는 3개의 공간
 - 작업 디렉터리
 - 스테이지
 - 저장소
버전은 이 3개의 공간을 통해 만들어진다.
스테이지, 저장소는 가상의 공간

 


작업디렉토리 : 버전 관리의 대상의 위치하는 공간(.git이 있는 디렉토리) = 워킹트리, 프로젝스 소스코드 위치공간


스테이지 : 다음 버전이 될 후보들이 올라가는 공간.


저장소 : 버전이 만들어지고 관리되는 공간.


버전으로 만들고 싶은 변경사항 > 스테이지로~
버전으로 만들고 싶지 않은 변경사항 > 스테이지X


add > 버전이 될 후보들을 스테이지에 추가한다 
commit > 후보들을 버전으로 만든다.


스테이지로 add 저장소로 commit


cat <파일명> => <파일명>에 적힌 내용을 보여줘라.


cd(change directory) <이동할 경로> => <이동할 경로>로 이동해라 (<디렉터리 이름>에서 상위 디렉터리 : ..)


pwd(print working directory) => 현재경로 표시


ls: 현재 디렉터리(폴더)에 존재하는 파일 및 디렉터리(폴더)를 표시

ls -al : 현재 디렉터리(폴더)에 존재하는, 숨김 파일 및 디렉터리(폴더)까지도 모두 리스트 형태로 표시

clear : 명령어 창 깨끗하게 비우기

mkdir <디렉터리 이름> :  <디렉터리 이름>의 비어있는 디렉터리(폴더)를 만들어라

rmdir <디렉터리 이름> :  <디렉터리 이름>의 비어있는 디렉터리(폴더)를 삭제해라

~ : 홈 디렉터리 (기본 명령어 경로)

touch <파일명> : <파일명>을 가진 비어있는 파일을 만들어라

rm <파일명> : <파일명>을 가진  (폴더가 아닌) 파일을 지워라

vi <파일명> : <파일명>을 vi 편집기로 편집하겠다(vi편집기에서 “입력모드”로 전환해야 어떤 내용을 입력할 수 있습니다)


*입력 모드로 전환하는 방법 : a 혹은 i(insert)를 입력
*입력모드에서 빠져나오는 방법: ESC
*입력한 내용을 저장하는 방법 : (입력 모드에서 빠져나온 뒤) :w(write)
*vi 편집기 닫기: :q


**특히 윈도우 사용하시는 분들 파일 저장할 때 “비어있는 한칸 띄고" 저장해주세요 (한줄더 치고ㅋㅋㅋ) 

:wq 저장하고 닫아라

(참고) 입력모드를 빠져나온 뒤 u : undo(변경사항 취소)


git init : 로컬 저장소 만들기

git status : 작업디렉토리 상태 확인하기

git add <파일명> : <파일명> 대상 스테이지에 올리기
git add . : 모든 변경사항 스테이지에 올리기
git tm --cashed <파일명> : 스테이지에서 내리기
git commit : 커밋!
git commit -m : 본문없이 제목만으로 커밋하고 싶을때 
(git commit --message "커밋메시지"도 가능)
git log : 커밋 목록 보여주기(나갈때는 q)


커밋 메시지 : 커밋 메세지는 버전(커밋)에 남기는 쪽지. 어떤 변경사항을 담은 버전인지를 짧게 써주시면 됩니다.



커밋 메세지는 제목과 본문으로 이루어져 있고 본문은 생략 가능합니다.


*실습

1. 임의의 위치에서 비어 있는 폴더를 만들어보세요. 폴더 이름은 sprata_git
2. git init으로 .git 숨김폴더(작업 디렉터리) 만들기
3. a.txt를 만들고 커밋
4. b.txt를 만들고 두번째 커밋
5. c.txt를 만들고 세번째 커밋


push : 내 로컬(컴퓨터)의 커밋을 원격저장소에 업로드하기
로컬 > 원격 

warning: in the working copy of 'd.txt', LF will be replaced by CRLF the next time Git touches it
>> 마지막줄 한줄 안띄면 나오는 에러,, 무시해도 ok긴 한데 웬만하면 띄워쓰자.

Add people에 다른 팀원의 깃허브 계정을 추가하고 버튼을 누르면 초대장이 발송됩니다.
그 초대장을 승낙한 사람들은 push 권한이 생깁니다.
이러한 방식으로 협업을 하시면 됩니다.
권장할만한 방법은 아닙니다. 깃/깃허브 입문자에게 적합한 방식.



git push -u origin main 한 번만 해주면 앞으로는 git push만 써도 OK

git clone <원격저장소 url> : 원격 저장소를 내 컴퓨터로 복제해서 가지고 오기

'WIL&TIL > TIL' 카테고리의 다른 글

20230320 TIL - Python 기초 강의  (0) 2023.03.20
20230317 TIL  (0) 2023.03.17
20230316 TIL  (0) 2023.03.16
20230315 TIL  (0) 2023.03.15
20230314 TIL  (0) 2023.03.14

댓글