git/github 공부하기
리눅스 기초 명령어
pwd : 현재 작업하고 있는 디렉터리를 출력(파일 경로)
ls : 내 폴더 안에 있는 폴더, 파일 내역을 출력
ls -a : 숨겨진 파일 모두 출력
cd 폴더명 : 입력한 폴더로 이동
cd .. : 현재 폴더 나가기
clear : 터미널 창 클리어
mkdir 폴더명 : 현재 경로에 폴더 생성
touch 파일명: 현재 경로에 파일 생성
git이란?
코드의 변경점을 기록
버전 관리 도구(현상 관리 도구)
github란?
백업과 공유가 가능한 온라인 코드 저장소
공유가 가능해서 협업에 용이하다
git 명령어
git init : 초기세팅으로 시작 전 딱 한 번만 입력 .git이라는 개발자용 폴더가 생성된다.
일반 ls로는 확인이 안되고 ls -a로 확인 가능 .git에서 코드의 변경점을 계속 추적해 준다.
git add 파일명 : 저장할 파일 지정
git add . : 저장 안 된 파일 모두 지정
git commit -m"" : 큰 따옴표 안에 메시지 작성 후 add 했던 파일을 저장
git status : 저장 안 한 파일을 출력
add라도 했으면 초록색 글씨로 출력되고 안 했으면 빨간색 글씨로 출력된다.
git log : 저장 내역을 확인하는 명령어(commit 메시지로 코드 변경점 추측 가능)
커밋 내용이 점점 많아지면 :입력이 되는데 방향키 위아래로 커밋 메시지를 찾을 수 있다.
q : 나가기
git diff : 코드 변경 확인(차이점 확인)
git reset : 코드 이전으로 되돌리기
git remote -v : 현재 연결된 원격 저장소를 출력
git remote add origin (깃허브 주소): 깃허브 주소 생략 명령어 및 원격저장소 연결
git branch -M main : 브랜치 명을 main으로 변경
처음 git init을 하면 브랜치명이 master로 설정돼 있는데
master가 노예제도 관련으로 문제가 있다 해서 보통 main으로 변경
git push -u origin main : git push 할 때 origin과 main을 생략할 수 있게 함
git remote remove origin : origin으로 설정된 원격 저장소를 연결해제
rm -rf .git : .git파일 삭제
git push (깃허브주소 or origin) 브랜치명 : 추가로 수정된 코드 깃허브에 업로드
git clone (깃허브 주소) : 보통 협업할 때 사용하며 폴더를 처음 만들고 팀원의 코드를 복사하기 위해 사용
주소 뒤에 (띄고). 을 적으면 만든 폴더 안에 파일들이 생기지만 (띄고). 을 안 붙이면 내 파일 안에 폴더가
새로 생성돼서 경로를 다시 지정해야 함
git pull (깃허브 주소 or origin) 브랜치명 : 협업중일 때 다른 사람이 코드 추가한 것이 있을 때 사용
내 폴더에 변경된 코드를 추가
clone과 pull의 차이점은 clone은 처음 시작할 때 아무것도 없으면 clone을 통해 복사하고
pull은 내가 이미 코드를 작성 중이고 push 할 때 다른 사람과 충돌을 방지하기 위해 업로드 전
변경된 코드를 가져와서 충돌을 방지
#기존 깃허브 코드와 내 코드의 변경점이 있으면 push 에러가 나는데 pull을 먼저 하고 push 하면 정상 업로드 된다.
충돌 해결하기
같은 파일에 같은 줄의 코드를 변경했기 때문에 코드 충돌이 발생한다
<<head@@@@@@@@@@@
내가 짠 코드
========
팀원이 짠 코드
>>1233523434623465678678232424
이런 식으로 충돌이 발생
먼저 <<head@@ ===== >>127743를 모두 지워주고
내 코드와 팀원코드를 적절히 수정해서 add&commit 후 업로드해 주면 된다.