오전
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 |