깃을 설치하고 또 이론을 알아봤으니 이제 VS코드에서 깃을 사용하기 위한 준비를 해보자.

우선 깃을 사용하기위한 폴더를 만들어보자

필자는 git-basics로 이름을 지었다

바로 VS 코드에 폴더를 넣어주고 test.txt라는 택스트 문서를 생성 후 

This is my first commit!라는 문구를 넣어주었다.

우선 커밋을 사용하기 앞서 터미널을 켜보자

(commend + j)로 바로 키는 단축기가 있지만 보기 -> 모양 -> 패널 이런 식으로도 터미널을 킬 수 있다.

이제 본격적으로 깃을 다루기 앞서 터미널에

git init이라는 명령어를 입력하자. 이는 Git저장소를 새로 만드는 일이다.

 

 

이렇게 화면이 변하면 저장소가 생겼다는 뜻이다.

그러면 지금부터는 git status 라는 명령어로 작업 디렉터리와 스테이징 영역의 상태를 표시해 보자

그러면 위와 같이 나오는데 No commit yet은 말 그래도 우리가 아직 추가한 커밋이 없기에 "아직은 아무것도 없어요!"라고 컴퓨터가 친절히 알려주는 것이다.

그 아래에 Untracked files는 "커밋에 추가되지 않았는데 이 파일은 커밋에 추가할 수 있어요!"라고 말해준 것이다.

그러면 test.txt를 커밋에 넣어보도록 하자.

git add (파일명)으로 커밋에 파일을 추가할 수 있다.

그리고 다시 git status를 명령해 이전과 비교해 보자.

아까 붉은 글씨가 초록색이 되며 성공적으로 커밋에 추가된 것을 볼 수 있다.

위에서 우리가 커밋을 추가했으니 추가했다는 메시지도 남길 수 있다.

git commit -m "~~~"의 명령어로 메시지를 남길 수 있다.

이 메시지를 git log로 확인해 보자.

그럼 사용자의 이름과 최신업데이트 날자와 아까 남긴 메시지가 나온다.

아마 오늘 처음 깃을 써보는 사람은 사용자명과 이메일이 이상하게 나와있을 수 있는데

이 너굴맨이 친절히 알려주도록 하겠다!

사용자 이름 바꾸기 : git config --global user.name "사용할 이름"

사용자 이메일 바꾸기 : git config --global user.email "사용할 이메일"

이렇게 작성하고 다시 git log를 하면 설정한 대로 이름과 이메일이 나올 것이다.

그럼 한번 커밋추가를 해봤으니 한번 더 다른 파일로 연습해 보자.

 

기존 test.txt 파일에 텍스트를 추가하고 새로운 second-commit.txt 파일을 만들었다.

이 상태에서 각각 저장하고 터미널에 git status를 명령해 보자.

보면 Changes ~~ 부분에 붉은 modified: test.txt가 있고 

Untracked file 부분에 붉은 second-commit.txt가 있다

첫 번째 붉은 글씨는 "당신이 이걸 커밋에 추가했는데 변경된 걸 감지했어요!"라고 알려주는 것이고

두 번째 붉은 글씨는 "당신이 다루지 않았던 새로운 파일이 감지됐어요!"라고 알려주는 것이다.

그러면 이 두 개의 변경사항을 다음 스냅숏에 추가해 보자!

두 개의 변경사항을 저장하는 방법은 앞서 사용했던 git add 파일이름 의 방법으로 각각 하는 방법이 있고

두 번째로는 git add test.txt  second-commit.txt (파일명 사이에 띄어쓰기 2개)의 방법도 있지만

가장 간단한 건 git add.이다 아까 깃이 감지한 모든 파일을 커밋에 추가하는 아주 편한 명령어이다.

두 파일을 커밋에 추가했으니 또 추가했다는 메시지를 남겨주자.

git commit -m "changed test.txt and added second-commit.txt"라고 추가했다.

git status를 명령해서 우리가 놓친 파일이 없는지 확인해 보자.

모든 파일이 걸리지 않고 처리되었으니 마지막으로 git log를 통해 우리가 추가한 파일과 메시지를 확인해 보자.

 

보시는 바와 같이 커밋이 2개가 되었다.

우리가 작성한 메시지도 잘 표기되었다.

 

처음 다뤄보는 깃 많이 헤매지 않았으면 좋겠다!

이상!

깃을 이용하기에 앞서 깃에서 사용하는 언어들을 알아보자

어떤 분야에서 한 언어에 의미를 이해하는 것은 정말 중요한 과정이다.

극단적인 예시로 여러분이 거동이 불가능한 상태이고 항암제를 먹어야 하면 간호해 주는 사람에게 항암제를 달라고 부탁해야 할 것이다.

하지만 항암제가 무엇인지 제대로 인지하지 못한 간병인이 그냥 감기약만 가져오면 여러분은 죽음에 도달할 것이다.

이만큼 한 분야에 있어 언어의 의미를 이해하는 것은 정말 중요한 작업이기에 실습이 없는 부분이라도 꼭 집중해서 공부하기를 바란다.

 

우선 개발자에게 가장 중요한 Working Direcotry(워킹 다이텍터리)라는 역역이다.

이곳은 여러분들이 작업을 하는 폴더로 현재 작업중인 모든 폴더와 파일을 의미한다.

즉, 기본적으로 여러분들이 현재 사용하는 코드 버전 및 변경 사항을 적용하는 영역을 말한다.

이것이 Git 활용 프로젝트의 한 영역이다.

그리고 다른 하나는 active(활성) 트래킹 파트라는 영역이다.

여기서 Git은 여러 다른 코드의 스냅샷을 저장하고 변경 사항을 추적할 수 있다.

이것은 워킹 다이렉토리 영역에 없고

Repository(레퍼지토리)라는 곳에 있다.

이 레퍼지토리는 숨김 폴더 안에 있어서 여러분에게는 보이지 않는다.

하지만 이 레퍼지터리 안에는 모든 추적된 파일과 폴더들이 있는데 이들은 Git을 통해 관리된다.

개념적인 측면에서 보았을 때 어떤 특정파일을 이 레퍼지토리에 추가하면 이게 어떻게 이루어지는 게 곧 보겠지만 Git에게 파일 변경사항을 추적하고자 하는 의도를 알려서 Git은 해당 파일의 사본을 여러 번 반복하여 저장하지 않게 된다.

여러분이 저장하고 싶은 새로운 코드 버전은 생성하는 경우에 Git은 오직 파일의 첫 번째 버전만을 저장하고 변경사항을 추적할 뿐이다.

그러니까 Git은 현재 상태와 최근 상태를 비교하고 변경된 부분을 확인한 다음에 변경된 부분을 확인한 다음에 이를 염두에 두고 최신 코드 스냅숏에서 작업 시에 반영하는 것이다.

근데 이레퍼지토리 안에서 Gi이 추적된 파일 및 폴더들을 관리하는 법은 '커밋'이라는 개념에 기반을 둔 것이다.

 

커밋은 싱글 코드 스냅샷을 말한다.

그리고 브랜치는 커밋이 저장된 곳을 의미한다.

예를 들어, 커밋에 대해 알아보자면 여러분이 워킹 디렉터리에 있다고 가정해 보자.

어떤 파일을 수정하고 워킹 디렉터리에서 작업하고 이미지를 하나 추가했다.

그리고 "add image"라는 커밋 메시지를 또 추가할 것이다.

이때 최신 코드 스냅숏에 '추가된 이미지'라고 주석에 메시지를 저장하면 여러분과 다른 개발자들이 스냅숏에서 변경한 사항들을 인지할 수 있다.

다른 코드 스냅숏의 예시로

위 사진의 "fixed order button"을 들 수 있는데

여러분이 어떤 것을 변경할 때마다 혹은 버그를 고칠 때마다 또는 새 기능을 추가할 때마다 이런 커밋 메시지 주석이 달린 새 커밋과 새 코드 스냅숏을 생성하는 것이다.

그리고 이 커밋들은 레퍼지토리에 저장되지 않고 전형적으로 메인 또는 마스터 브랜치에 저장된다.

바로 여러분들의 메인 프로젝트를 저장하는 핵심 위치, 핵심 구역이다.

그래서 여러분이 만약 웹사이트 상에서 작업한다면 배포된 웹사이트의 최신 상태는 곧 마스터 브랜치라는 곳 안에 있는 최신 커밋 또는 최신 스냅숏이라고 볼 수 있다.

여기서 마스터 브랜치에서 어떤 부분을 개량한다고 가정할 때 

예를 들어, 오더 버튼 추가 작업 등을 한다면 여러분은 새로운 브랜치를 생성할 수 있다.

예를 들어 'feature(특징)' 브랜치 이렇게.

그리고 이 업데이트된 코드 스냅숏을 여기에 넣을 수 있다.

이 작업이 끝나면 박스를 체크하고 나서 다이 이 'feature(특징)'을 다시 마스터 브랜치로 옮길 수 있다.

이것이 Git 작업의 핵심이다.

디렉터리, 레퍼지토리, 커밋, 브랜치 들 이런 이론 지식을 바탕으로 Git을 본격적으로 공부해 보자.

현재 복무중인 필자가 군대에서 어떻게 다쳤고
어떤 절차를 통해 청원휴가를 나갔는지 알려주려 한다.


우선 1월 입대하고 7~8월부터 골반에서 불편함이 느껴졌다. 그래서 수도병원 가끔 가면서 초음파 치료를 받았다.
그러던 어느날 11월에 수도병원에서 진료를 받은 바로 다음날 도저히 앉기도 힘들 정도의 통증이 왔다.
이는 수도병원에서의 진료가 잘못되었다는 증거다.
그래서 민간 병원을 다니기 시작했다.
1주에 한번 총 4번 진료를 다녔지만 증세는 여전했다.

더 큰 병원으로 가야 한다고 판단 한 개인병원은 진료 의뢰서를 작성해줬다.
나는 그 진료의뢰서를 근거로 대학병원에 예약을 잡았고 연가를 써서 대학병원에 다녀왔다.
내원 확인서를 챙겨오면 연가를 청원으로 바꿔준다.

여기서 추가적으로 필자는 대학병원에서 검사한 CD랑 의사 소견을 가지고 수도병원애 가서 쉬어야 한다는 군의관 소견소도 받자 바로 청원휴가를 보내줬다.

근데 좀 븅딱같은게 나을 기미를 보이기 시작하면 다시 복귀해야하고 또 절차를 밟은 뒤 병원에 가야 한다는 사실이 좀 거시기하다.



요약

1. 수도병원 다녀오고도 호전 X
2. 민간 병원 계속 다님
3. 민간 병원 의사가 진료 의뢰서 써줌
4. 연가 써서 대학병원 가서 검사 하고 내원 확인증 가져오면 청원으로 바꿔줌

+
5. 대학병원 의사 소견 토대로 군의관의 소견을 받음
6. 군의관 소견 근거로 바로 10일짜리 청원 나갈 수 있음



아픈 사람들은 참고 하기를..

'일기 > 군대 일기' 카테고리의 다른 글

진짜 짜증나  (1) 2022.11.27
으악 갑자기 너무 아픈데  (4) 2022.11.25
군대 사지방 좀 가소로움...ㅋㅋ  (4) 2022.11.20
솔직히 군생활 외롭다  (2) 2022.11.19
오늘 유격훈련 끝!  (2) 2022.11.17

필자의 100일 만에 개발자 되기!! 프로젝트는 잠시 쉬어갈 예정이다!!

 

이상근 증후군 때문에 앉아서 공부할 수 없고 입원 끝나고 다시 부대로 복귀해야 하니 더 이상 노트북도 사용할 수 없으니 다시 휴가 나오기 전 까지는 업로드가 중단될 예정이다!

 

최대한 빨리 낫기를 기도하며~

모두 건강하길 바란다!

'일기 > 일상' 카테고리의 다른 글

쾌적하게 공부할 수 있는것도 복인거같아  (0) 2022.12.29
진짜진짜 너무 공부하고싶다  (1) 2022.12.12
몸이 너무 아프다  (0) 2022.12.11
내가 공부하는 방법  (3) 2022.11.20
군에서 공부가 쉽지않네요  (2) 2022.11.16

우선 깃을 이용하기 위해서는 깃을 설치해야 한다.

 

https://git-scm.com/

 

Git

 

git-scm.com

우선 위에 사이트에 들어가 보도록 하자.

 

사이트에서 보이는 위 화면에서 Download for Windows를 클릭해 준다.

 

그러면 자동으로 다운로드가 시작된다.

 

다운로드가 다 되면 다운로드된 exe파일을 클릭 후 실행해 준다.

 

Next를 누른다.

 

설치 경로를 지정 후 Next를 누른다.

 

파란색으로 표시된 부분을 선택 해제하고 Next를 누른다.

 

여기서도 Next를 누른다.

 

또 Next를 눌러준다.

 

또 Next를 눌러준다.

 

기본 설정 그대로 Next~~

 

요것도 바로 Next!

 

기본설정 그대~~ 로 Next! 

 

이 또한 그대로 Next

 

그대로!! Next!!

 

N~~ E~~ X~~~~ T~~~~~~

 

이제 Install을 눌러 설치를 해주자!

 

다 설치 됐다면 두 개의 선택지를 모두 해제해주자.

 

이렇게 설치가 끝났다!

우선 깃을 이용하기 위해서는 깃을 설치해야 한다.

 

그러나 깃을 설치하는 게 어디서 파일 다운로드하는 거처럼 쉽지가 않다.

 

그래서 깃을 다운로드하는 법을 차근차근 알려주겠다!

 

우선 아래의 사이트에 들어가 주자.

https://git-scm.com/

 

Git

 

git-scm.com

 

그리고 보이는 Dowinload for Mac을 클릭하자.

 

그럼 위와 같은 화면이 나오는데, 깃을 설치하기 위해서 Homebrew라는 것도 설치해줘야 한다.

 

그러니 이 페이지는 남겨놓고 다시 다른 페이지를 열어보도록 하자.

https://brew.sh/index_ko

 

Homebrew

The Missing Package Manager for macOS (or Linux).

brew.sh

Homebrew를 설치하는 방법은 좀 특이하다.

 

이를 설치하기 위해서는 터미널을 이용해야 한다.

이 글을 읽는 사람은 전부 맥북 유저일 테니 맥의 입장에서 설명하겠다.

 

우선 F4를 누르고 Terminal을 검색 후 실행시키자.

터미널을 켰으면

여기 보이는 코드를 복사하고 터미널에 붙여 넣기를 하자.

그러면 비밀번호를 입력하라고 나오는데, 여러분의 맥북 비밀번호를 입력하면 된다.

 

여기서 또 엔터를 눌러주자.

 

그러면 다운로드가 시작이 되는데 시간이 좀 걸린다.

이렇게 되면 다운로드가 완료됐다.

 

M1칩 탑재 맥북은 여기서 더 해야 할 단계가 있음.

 

터미널을 껐다가 다시 키고

echo "export PATH=/opt/homebrew/bin:$PATH" >> ~/.zshrc

위 문장을 붙여 넣고 엔터를 클릭 후 다시 터미널을 실행시켜야 한다.

 

다시 터미널을 실행시켰다면 다시 깃 사이트로 돌아가자.

붉은색 글씨로 보이는 

 

brew install git 

 

를 입력해 주면 된다! 그러면 깃의 설치가 끝난다.

오늘도 코딩에서 잠시 손을 떼고 다른 것을 알아볼 것이다!

 

바로 깃과 깃허브라는 것이다.

 

이 둘의 이름이 비슷하니까 비슷한 기능을 하는 거지 않을까?

그렇다!

 

그럼 우선 깃이 뭔지부터 알아보자.

깃을 이해하기 위해 가장 좋은 예시를 알려주겠다.

 

다들 마인크래프트를 알고 있는가?

마인크래프트를 플레이하면 버전이라는게 존재한다는 것을 알고 있을 것이다.

하지만 이제는 개발자 입장에서 생각을 해보자.

 

코드를 계속 최신화 하는데도 이전 버전이 남아있고 플레이를 할 수 있다고?

 

개발자 입장에서 보면 신기하지 않은가?

 

매 버전마다의 파일을 따로 저장하고 새로운 코드를 작성하는 것일까?

 

이런 기능을 제공해주는 것이 바로 깃과 깃허브이다!

 

아하~ 내가 업로드한 버전들의 코드를 저장해 주는 거구나~라고 생각하면 된다.

 

그럼 깃과 깃허브의 차이점을 알아볼까?

 

깃은 하나의 프로그램이다.

우리가 각 버전의 코드를 담을 수 있게 해주는 프로그램이다.

 

그러면 깃 허브는 뭘까?

하나의 서버같은 것이라고 보면 된다.

우리가 저장한 각 버전의 코드를 서버에 업로드해서 온라인으로 다운로드할 수 있게 해주는 서비스다!

 

혼자 개인작업을 할 때에는 깃만 사용해도 되겠지만 

여러명이서 코드를 공유할 경우에는 깃허브를 이용하면 된다.

 

 

이번에는 html 안에서 link를 할 때 불러오는 주소에 대해서 알아볼 것이다.

 

상대경로와 절대경로가 우선 무엇인지부터 알아보자.

 

상대경로란 현재 파일을 기준으로부터 목적지까지의 상대적인 경로를 말하고

절대경로란 시작 지점부터 목표지점까지의 어느 누가 봐도 절대적으로 이곳을 가리킬 수 있는 곳이다.

 

이 둘의 차이가 있다면 뭐가 있을까?

우리는 지금까지 해봤자 폴더를 하나씩만 추가해서 느낌을 잘 못 잡을 수 있기에 극단적인 예시를 들어 설명해 보겠다.

 

예를 들어 pokémon. html이라는 파일을 web/my-game/love/good/great의 위치에 만들었다 치자.

이제 html작성이 끝났다면 css를 작성해야 하는데 공용 css파일인 shared.css의 파일 위치가 web/styles 에 들어있다.

 

이와 같은 경우에는 shared.css를 찾기 위해서는 great폴더에서 부터 찾는 것보다는 처음 위치에서부터 시작해 찾는 것이 편하다.

 

이 예시가 이해 됐는지는 모르겠지만 정말 간략하게 정리를 해주겠다.

 

지금까지 우리가 써온 경로의 방식은 다 상대경로다.

근데 절대경로로 표시하는 게 더 좋음.

 

정도로 요약이 가능하다.

 

그러면 절대경로는 어떻게 쓰는가?

그저 제일 앞에 / 하나만 추가해 주면 된다.

아주 쉽지 않은가?

 

    <link rel="stylesheet" href="/styles/shared.css" />
    <link rel="stylesheet" href="/styles/style.css" />

절대경로가 더 좋다는 것을 알았으니 나중에 여유가 생기면 코드에 있는 경로들을 한번 절대경로로 고쳐보는 연습을 해보길 바란다.

 

 

+ Recent posts