Mandoo’s WLAN story

[Git] 내가 보기 위한 Git 메모 본문

작고 소소한 왕만두의 사생활/개발일기

[Git] 내가 보기 위한 Git 메모

mandoo12 2022. 9. 13. 09:59

GIT 계정 설정

repository 복제할 폴더에서 git bash 실행

사용자 이름과 이메일이 정상적으로 뜨지 않으면 설정해주어야함
git config user.name // 현재 git 사용자 이름 확인
git config user.email //이메일확인

사용자 계정 설정
git config --global user.name 이름 //사용자 이름 설정
git config --global user.email 이메일 //사용자 이메일 설정

↓아래처럼 나와야 정상
$ git config user.name
KimJiyoon
$ git config user.email
wldbsdl789@naver.com

-------------------------------------------------------
회사에서 내부IP 사용하는 경우 GIT Proxy 설정 필요

프록시 주소 추가
git config --global http.proxy ip:port // ex) http://172.31.250.3:40080/

프록시 주소 확인
git config --global --get http.proxy
$ git config --global --get http.proxy
http://172.31.250.3:40080/

------------------------------------------------------
* 기초
commit : 버전을 생성

pull (가져와 병합하기) : 원격저장소에 있는 변경된 데이터를 가져와 로컬에 있는 데이터와 병합

fetch (가져오기) : 변경된 데이터를 가져오기만 한다 (병합X)

push (밀어넣기) : 변경된 내용을 원격 저장소에 넣기

git push <저장소명> <브랜치명>
//브랜치명은 git clone 으로 복제했다면 일반적으로  origin

branch : 독립적으로 어떤 작업을 진행위한 독립된 공간. 새로 추가한 브랜치는 다른 브랜치의 영향을 받지 않기 때문에, 여러 작업을 동시에 진행할 수 있고, 작업이 완료된 후에는 최종으로 올라와 있는  branch와 병함해주어야 함.
-------------------------------------------------------

GIT 구조

1. git clone [git http 주소]
// 원격 저장소 내 PC에 복제
// .git 숨김파일이 떠야하고, 보이지 않는다면 폴더 상단 [보기]에 [숨김 항목]에 체크
// clone으로 복제한 폴더에 VisualStudioCode에서 소스 작성하면 소스제어 탭에서 gitignore 파일 생성 가능

1-1. git remote add [브랜치명] [깃주소] // clone으로 저장소 복제했다면 생략 가능

2. git add . / git add 파일명
// 내 PC에서 소스 수정하거나 새로운 파일을 추가 했을 때
// Staging Area에 Staging, Staging되어야 로컬저장소에 커밋가능

3. git commit -m "커밋 메세지"
// Local Repository에 커밋

4. git push 저장소명 브랜치명 
// ex) git push origin master
// Local Repository에서 Remote Repository로 Push



-----------------------------------------------------

에러
rejected master -> master (pre-receive hook declined)

로컬저장소에 commit까지는 정상이나 원격저장소로 push할 때 아래 발생
원인 : GitLab에서 프로젝트 생성 시 branch 권한이 관리자에게만 주어져서 관리자만 수정 후 push 가능.
해결책 : 관리자에게 권한을 받아야 원격저장소로 push 가능

-----------------------------------------------------

원래 git clone할떄 http://172.31.250.3:40080/idealjin/study1.git 주소로 해야함 (내부망 주소)
근데 외부 IP인 http://118.32.144.11:40080/idealjin/study1.git으로 된 이유는 중간에 스위치에서 뭔가를 변환해줘서 되는거라고 함!

--------------------------
branch

새 branch 추가 후 master branch와 병함

1. 브랜치 추가

git checkout -b newBranch // "newBranch"라는 새 브랜치 생성 및 스위칭

git status // On branch newBranch 확인

git checkout master // master branch로 돌아가기

git branch -d 브랜치명 // 브랜치 삭제

2. 새 브랜치에 소스 가져오기 (새 브랜치에 스위칭 되어있어야 함)

git pull origin master //master branch 소스 가져오기

3. 수정된 파일이나 추가된 파일 add ~ push

4. master branch에 병합 (master branch에 스위칭)

git checkout master // master branch로 스위칭

git merge newBranch

git push origin master //push

-----------------------------------------------------

* 생활코딩 
GIT CLI > Branch & Conflict > 외부 도구를 이용해서 병합하는 방법

git 저장소 정리 (windows / linux)
window에서 git remote remove origin // 윈도우에서 원격저장소와 연결 끊기

-----------------------------------------------------