먼저 Git을 시작하는 법에 대해 알려 드리겠습니다.
일단 Git을 설치하셔야 합니다. Git설치는 이 링크를 타고 가세요.
여기서 자신의 컴퓨터에 해당하는 Git버전을 설치하시면 됩니다.
그다음으로는 간단합니다. 자신이 진행하는 프로젝트의 directory(폴더)로 간 다음에
// git : git관련 명령어를 실행할꺼다 컴퓨터야
// init : 그 중에서도 git 기능을 이 프로젝트에서 사용할꺼다 컴퓨터야
// . : 이 Directory(폴더)에서 말이다 컴퓨터야
git init .
그럼 아래와 같이 git이 프로젝트 안에서 만들어집니다. (저는 터미널을 이용해 만들었습니다. 왜냐하면 다른 방법은 모르거든요.)
Git을 시작했으니 이제 기록을 해야겠죠? 현재의 시점 까지 작업한 내용(코드)을 저장하는 법에 대해 알려 드리겠습니다.
일단 저는 README.md라는 파일을 만들었습니다.(터미널에서 파일 작성은 vi (파일명) 이런 식으로 하시면 됩니다.)
그다음 아래의 명령어를 입력해 보세요.
// git status를 줄여서 쓴거입니다.
// git: git을 사용할거다 컴퓨터야
// status: 현재 상태를 보여줘 컴퓨터야
gst
그러면 Git은 마지막에 저장 돼있는 커밋과 현재의 상태를 비교해 변경이 발생한 파일에 대해서 표시를 해줍니다.(이걸 전문적으로 Git Snapshot을 찍어 가장 최근의 Snapshot과 비교한다고 하는데 아실 필요는 없을 거 같아요. 이러면서 뭔가 'Git 작동 방식에 대해서 설명해 보세요' 할까 봐 살짝 등골이 오싹하네요. ) 그러면 아래와 같이 뜹니다.
자 그럼 이제 딱 두번만 입력하면 저장이 됩니다.(설명만 하면 짧은 내용들이 엄청 길어지네요.)
그럼 이제 간단합니다.
// 깃으로 커밋할 변경사항들을 추가해줘 현재 컴퓨터야
git add -A
// 혹은
git add README.md
// 그럼 이제 Commit(커밋)을 해줘
// -m: 어떤 커밋인지 한줄설명
git commit -m "첫번째 커밋(First Commit)"
그러면 이제 우리가 마지막으로 한 작업과 현재까지 한 작업의 차이를 현재 시점 기준으로 기록이 됩니다.
여기서 git의 두 가지 state을 알 수가 있는데요.
하나는 add를 이용해 Snapshot에 변경사항을 추가하는 것입니다.
나머지 하나는 commit을 이용해 완전히 현재 시점으로 Snapshot을 찍는 겁니다.
간단히 add를 통해 Snapshot에 포함할 내용을 추가하고 commit을 통해 포한된 내용으로 Snapshot으로 만드는 겁니다.
그럼 이제 아래와 같은 결과가 나옵니다.
어떤가요? 간단하죠?
여기서 추가로 만약 우리가 add를 하고 add 한 내용들을 재외 하는 건 어떻게 할까요?(개인정보가 add 되는 경우가 생각보다 많습니다.)
일단 add를 되돌리는 건 쉽습니다. 간단하게 아래와 같이 하면 됩니다.
그리고 만약 실수로 Commit까지 했다면 어떻게 할까요?
생각보다 복잡한데 일단은 가장 간단한 방법은 아래의 명령어를 입력하는 겁니다.
git reset --hard master~1
주의하셔야 할 점은 바로 이전 커밋으로 돌아가기에 변경사항이 사라집니다. ㅎㄷㄷ(더 좋은 방법은 다음에.....)
자 그럼 지금까지 간단한 Git의 사용에 대해서 알려 드렸습니다. 다음에는 Git을 활용한 다양한 버전관리에 대해 소개해 드리겠습니다.
감사합니다!
도대체 Git을 어떻게 활용하나요?: 시점 변경 및 분업
* 항상 정확한 정보를 드리고 싶지만 실수가 있을 수도 있습니다!
* 실수를 찾게 되거나 질문이 있으시면 댓글 달아주세요!!
'개발일반 > 도대체' 카테고리의 다른 글
도대체 M1, M2 칩 Macbook에 Tensorflow를 어떻게 설치할까요? (0) | 2023.03.15 |
---|---|
도대체 Git은 어떻게 사용하는 걸까요?: 분업 (0) | 2023.03.14 |
도대체 Git은 뭘까요? 그리고 Github는 또 뭔가요? (0) | 2023.03.07 |
도대체 Weights와 Bias는 AI에서 뭘까요? (0) | 2023.03.06 |
도대체 TCP/IP는 어떻게 통신을 할까요? (0) | 2023.03.02 |