Developer Note/국비과정 수업내용 정리&저장

24년 08월 08일

DH_PARK 2024. 8. 8. 17:28

오전

GIT 사용법

원격 저장소 : github

로컬 저장소 : 내가 만든 폴더(directory)

 

svn : 버전관리도구 , 현재 시점에서 특별한 형태를 기억한다. 형상기억도구

요즘은 git을 사용하지 svn은 잘 사용하지 않는다 !

 

리눅스 사용하는 법

우분투 이미지 파일 downlaod -> vmware 설치 후 ubuntu 설치 -> 네트워크 설정에서 vmware 이더넷은 다 사용안함을 해준다 -> 호스트 전용 네트워크를 하나 더 생성 후 ip 할당해줌 -> 다음 설치한 ubuntu 실행.

 

 

git 설치

git 폴더 주소칸에서 cmd 실행

git init : git 로컬저장소 생성 명령어

git 폴더에 텍스트파일 아무거나 생성

git status : git 상태확인

git log : 로그 확인

git reset : 커밋취소 (soft , hard ,mixed)

  • hard : 폴더의 내용까지 영향을 미침
  • soft : 폴더와 스테이지 에어리어에는 영향을 안미침
  • mixed : 스테이지 에어리어 까지만 바뀌고 폴더는 안바뀜 (reset 후에 따로 종류지정을 안하면 기본적으로 mixed 상태

git add * : *는 모든 파일을 stage area 에 저장한다는 뜻. 

git add aaa.txt : 파일을 지정해서 저장해주는 명령어

git commit -m “메시지” : 로컬 저장소에 완전히 커밋(저장)한다. 어떤 메시지의 형태로

 

git branch dev(다른이름도 됨) : 새로운 브랜치 생성

git switch [branch] : 작업중인 branch 변경

여기서 브랜치란? (중요한 개념이라 크게적음)

브랜치란 독립적으로 어떤 작업을 진행하기 위한 개념입니다. 필요에 의해 만들어지는 각각의 브랜치는 다른 브랜치의 영향을 받지 않기 때문에, 여러 작업을 동시에 진행할 수 있습니다.

dev branch에서 작업을 하다 master branch로 가면 master는 dev가 작업하던걸 모르기 때문에 master branch와는 log가 다르다 !

head : 현재 작업중인 Branch

branch : 분기점

 

git merge dev : dev 브랜치와 결합하겠다 (현재 브랜치에서)

git merge —continue : 충돌 해결 후 병합

git merge —abort : 충돌 무시 병합

멀징(mersing) : 다른 브랜치랑 합치는 것

merge 를 할 때 이름이 같은 파일의 서로 다른 내용이 있을 때 conflict 오류가 난다!

(예로 , 두 branch에 asd 라는 파일에 내용이 다른 세줄의 텍스트가 있다고 했을 때 merge 를 하면 conflict 오류가 난다!)

이 때 텍스트 파일에서 오류가 났다는 부분을 삭제하고

다시 add로 저장해준후에

git merge —continue 를 해서 나오는 창에 :wq 를 하면 merge 가 된후에 저장이된다.

Branch를 만들면 기본적으로 master 로 생성됨

 

텍스트 파일로 파일을 생성 한 상태에서는 스테이지 에어리어에만 있는 상태다.

그래서 git 에서 commit add 를 해야 로컬 저장소에 저장이 된다.

 

오후

깃허브에 파일 업로드하기

git remote add origin(웬만해선origin씀) git저장소 주소 : 원격저장소와 연결하는 명령어

git push origin main(branch이름) : 깃허브 레포지토리에 올리는 명령어

git pull : 깃허브에 업데이트한 파일을 디렉터리에 가져옴

만약에 깃허브에 연결하다가 뭘 잘못해서 깃허브와 현재 내 원격저장소의 히스토리가 달라져버리면 push를 하려고 했을 때 오류가 난다!

그 때는

git pull origin main --allow-unrelated-histories

명령어를 써주면 연관이 없는 두 저장소의 커밋 히스토리를 병합해줘서 다시 연결이 된다 !

git clone : 복사해서 가져옴

(잘 모르겠다.) 복습해와야 할듯

24.8.15 내용 수정 : 뭔지 알아왔다 ㅋㅋ .

git clone 이란 깃허브 repo 에 있는 파일들을 내 로컬저장소로 불러오는 명령어를 말하는 거였다. !

 

 

리눅스 소유권 / 허가권

drwxr-xr-x 5 root root 4096 Apr 24 19:48 vulkan

rwxr-xr-x : 허가권

r (read) 읽기, 문서 내용 보기 (cat, head, tail, more) r: ls (목록보기)
w (write) 쓰기, 내용 수정 (vi) w: cp, touch, mv, >, ... (생성, 수정, 삭제)
x (execute) 실행, ./파일명, 실행파일 x: cd (진입)

 

chown : 소유그룹을 바꿔주는 명령어

root root : 소유권

(소유자) (소유그룹)

 

chown user10:user10 /chown		- /chown 의 소유자,소유그룹변경
chown root.root /chown			- /chown 의 소유자,소유그룹변경
chown user10 /chown			- /chown 의 소유자만 변경
chown root /chown			- /chown 의 소유자만 변경
chown .user10 /chwon			- /chown 의 소유그룹만 변경
chown -R user10.user10 /chown		- /chown 의 하위파일&디렉토리 포함 변경

ex) chown root:root /perm/박대해 : perm/박대해 디렉터리를 관리자 그룹(root)으로 바꿈

 

chmod : 커미션 부여(허가권 변경 명령어)

허가권을 정수로 표현했을 때

r : 4

w : 2

x : 1

 


집에서 git을 깔아서 공부하려니 처음 깃 cmd 를 켜서 commit 을 하려하니 please tell me who you are 에러가 떴다.

찾아보니 git config --global user.email "exmaple@asd.com"

git config --global user.name "dhdhdh" 처럼 원격 저장소와 연결을 안해서 생기는 오류인듯 했다.

그래서 이메일과 이름을 입력하라고 떠서 내 깃허브 닉네임과 아이디를 지정해주었더니 commit 이 정상적으로 되었다.

깃허브 아이디를 입력하는게 맞았던 건지 그냥 아무 이메일이나 하면 됐던 건지 잘 모르겠지만..

근데 수업시간 때 이거는 안한것 같았는데 졸았나??.. 어쨌든 다른곳에서도 작업을 하려할 때 이런 오류가 뜬다면 이렇게 해주면 될 것같다. 

 

ps. 집에가서 리눅스 좀더 공부하기 !

'Developer Note > 국비과정 수업내용 정리&저장' 카테고리의 다른 글

24년 8월 12일  (0) 2024.08.12
24년 08월 09일  (0) 2024.08.09
24년 08월 07일  (0) 2024.08.07
24년 08월 06일  (0) 2024.08.07
24 년 07월 31일  (0) 2024.08.07