깃랩 자주 쓰는 명령어 모음
fatal: unable to access 'https://xxxxxxxxx.git/': Could not resolve host: source.xxxxxx.co.kr
에러시 :
git config --global --unset http.proxy
git config --global --unset https.proxy
이거로 안되면
git config --global user.name "user name"
git config --global user.email "user email"
해도 안되면 ----------------------------------------------
ping github.com
핑테스트 해보고 안되면
/etc/resolv.conf <-- vi 로 들어가서 밑에 Domain 추가 해서 하면됨
nameserver 168.126.63.1 #kt DNS 서비스
nameserver 8.8.8.8 #구글 퍼블릭 DNS서비스(IPv4)
nameserver 8.8.4.4 #구글 퍼블릭 DNS 서비스(IPv4)
깃 머지하기
develop 브랜치를 -> master 브랜치로 머지
git checkout master
git merge develop
develop 브랜치내용이 master에 병합됨
--------------
원격 저장소의 깃 브랜치와 로컬 저장소의 브랜치 DATA 일치 시키기.
git fetch --prune origin
git reset --hard origin/master
git clean -d -f
--------------
깃 롤백하기
2041 git log --abbrev-commit
2042 git reset a7329d3
로그보고 커밋 시리얼로 롤백함, 시리얼은 전부해도 되고 좀만 해도됨
여기서 git revert 로하는 방법과 git reset으로 하는 방법이 있다.
rever는 commit 을 살리고 롤백 , reset은 commit 을 전부 날린 후 롤백
--------------
깃랩에 브랜치 추가 ( 로컬부터 -> 원격까지 )
'test'라는 브랜치 추가
git clone http:~@!@!@#&$)!@ 해서 받아준 다음
git branch test
git checkout test
git push origin test
하면 깃랩에도 'test'브랜치가 추가 되어 있씀
--------------
브랜치 삭제 방법은
로컬 저장소와 원격 저장소 둘다 지워야 할 때
1. git branch -al 로 남아있는 브랜치 확인 후
2. git branch -d test 로 'test' 브랜치 라든가 필요 없는 브랜치를 삭제해서 로컬저장소에 있는 브랜치를 삭제하고 ( 사용하고 있는 브랜치는 삭제 불가능 )
3. git push origin --delete test 로 원격저장소에 있는 'test'라는 브랜치까지 삭제해주면 끝
--------------
깃 브랜치 원격저장소 확인 및 깃 브랜치 변경
git clone {HTTP주소}
git branch -a
git switch {브랜치이름}
스위치 될때마다 각 브랜치에 있는 프로젝트로 변경됨.
--------------
브랜치 명 변경 ( release 라는 브랜치를 -> liam_release 라는 브랜치로 바꾸고 -> 원래 있던 release 브랜치를 삭제(로컬/원격 모두)
git switch release
git branch -m release liam_release
git push origin liam_release
git push origin --delete release
--------------
브랜치에서 다른 브랜치로 복사
브랜치A ---COPY---> 브랜치B ( develop 브랜치에 있는 모든 data를 liam_feature 브랜치로 복사 )
liam_feature 브랜치는 원격이고 로컬이고 아무것도 없는 상태(nothing.txt랑 깃이그노만있음)
초기상태 :
git branch -D liam_feature (liam_feature 브랜치 삭제
git checkout -b liam_feature (이때 현재 있는 깃브랜치에서 liam_feature 브랜치로 data 복사후, 브랜치 변경까지 됨)
ls 로 확인해보면 전부 복사 한걸 알 수있다. 그 다음엔 원격지에도 업데이트
git add .
git commit -m 'ㅁㅁ'
git push -f origin liam_feature
--------------
git clone VS git remote
git clone foo {HTTP주소}
위에 꺼랑 밑에 꺼랑 동일하다고 보면됨
2077 mkdir foo
2078 cd foo/
2079 git init
2080 git remote add origin {HTTP주소}
2081 git pull origin
--------------
git clone -b {브랜치이름} --single-branch {HTTP주소}
--------------
깃 추가한 후, 추가내용 푸시
2232 git add .
2233 git commit -m 'aa'
2234 git push origin camera_test
--------------
깃 삭제 후, 삭제내용 푸시 (check.py)
2237 git add -u
2238 git commit -a -m 'aaa'
2239 git push origin camera_test
--------------
깃 로컬에 있는 파일중 리모트에 없는파일 확인해서 없으면 삭제
git clean -f ( 파일만 확인해서 삭제, directory X )
git clean -d -f ( 파일 및 directory 확인해서 리모트에 없는 폴더,파일 삭제 )
--------------
git pull 하는데 최신 업데이트가 안됬음에도 "Already up to date." ERROR 날때,
다 삭제하고 git clone 하는 방법도 있지만 그 디렉토리에 연관해서 온갖 설정이 있을때 다 삭제하면 또해줘야해서 귀찮음.
그럴 떈
831 git fetch --all
832 git branch new-branch-to-save-current-commits
833 git reset --hard origin/main
834 git clean -d -f
하면 리모트에 있는 git 상태 그대로 로커에 저장 함.
git reset --hard 의 경우 커밋 메시지가 삭제될 수 있으므로 사용에는 주의를 요한다.
--------------
아이디 비밀번호 반영구 저장 ( 해당 디렉토리만 )
1859 git config credential.helper store
1860 git pull
아이디 비밀번호 반영구 저장 ( 해당디렉토리 외의 다른 디렉토리에도 전부 적용 )
1859 git config credential.helper store --global
1860 git pull
아이디 비밀번호 특정 시간 동안만 저장
1859 git config credential.helper 'cache --timeout=3600'
1860 git pull