회사업무중고민

깃 명령어

everydeveloper 2024. 5. 5. 23:15
git 모든 명령은 git bash 에서 사용하는게 가장 좋고 안정적임
  • git add (untracked -> tracked 모든 파일)
  • git add .
  • git add -u
  • git reset -- src/main/resources/egovframework/message/key-common.properties
  • git reset 파일이름 (tracked -> untracked 특정파일) (아무것도 안적으면 모두 취소)
  • git reset
  • git add (untracked -> tracked 특정파일)
  • git add 파일이름
  • git rm (파일삭제)
  • git rm 파일이름
  • git commit (tracked 된 모든 파일)
  • git commit -m 변경내용
 
설정파일 위치
  • /root/.gitconfig 설정파일
 
원격 저장소 만들기
  • mkdir 로 폴더를 만든 뒤,
    ex>mkdir usr/git_repo/BusanUniv.git
  • 해당 폴더로 들어간 뒤, git init --bare 로 empty git repository 활성화
 
로컬 -> 원격저장소로 등록하기
  • 운영체제에 맞는 git 을 설치 (윈도우 : https://gitforwindows.org/ )
  • git bash 를 실행
  • 프로젝트 폴더에 가서, git init 명령어로 git 등록
  • git remote add 원격저장소이름 ssh://본인계정@주소:포트/원격저장소위치
 
  • ex> git remote add BusanUnivOrigin ssh://본인계정@211.57.203.43:10022/usr/git_repo/BusanUniv.git
  • remote는 없어도 기본 commit은 구동함 push, pull 을 위해서 등록하는 것임
 
  • git remote -v 로 정상 등록되었는지 확인
 
  • remote 정보만 삭제하려면,
    ex> git remote remove BusanUnivOrigin 하면 삭제됨
     
  • 안드로이드 스튜디오에서 해당 프로젝트를 염
  • .gitignore 파일을 최상위 프로젝트 폴더에 생성하고 패턴입력 (패턴은 프로젝트별로 변경 등록)
  • 해당 프로젝트의 목록보기를 프로젝트로 변경 후, 최상위 경로에서 우클릭 git > add
  • 이후 하단 Version Control 탭에서 local Change tab에 default로 되어있는 항목에 우클릭 후 commit
  • 리모트 서버로 push
  • git push 원격저장소이름 branch이름
    ex>git push BusanUnivOrigin master
    ex>git push BusanUnivOrigin2 master
 
  • 만약 error: src refspec master does not match any.
error: failed to push some refs to 'https://github.com/id/repos. name.git'
>First commit을 하지 않은 상태에서 push를 해서 발생한 오류. 아무 파일이나 생성해 commit 한 후 push 하면 사라짐.
폴더에서 파일을 하나 생성한 후
 
원격저장소 -> 로컬로 프로젝트 가져오기 (git bash) (developer 그룹과 root만 접근가능)
  • git bash 를 실행
  • 프로젝트를 저장할, 최상위 경로를 mkdir로 생성한다.
  • 해당 경로로 이동한 뒤,
  • git clone ssh://본인계정@211.57.203.43:10022/usr/git_repo/BusanUniv.git 로 프로젝트를 clone 해온다.
  • git clone ssh://본인계정@211.57.203.43:10022/usr/git_repo/u2-cms_fire.git v2 로 프로젝트를 clone 해온다.
 
 
원격저장소 -> 로컬로 프로젝트 가져오기 ( developer 그룹과 root만 접근가능 )
  • Ctrl + Shift + A 전체검색창
  • checkout from version controller 검색 후 선택
  • git 선택
  • 체크아웃 할 git 선택, 받는 장소 설정
    ex> ssh://본인아이디@211.57.203.43/usr/git_repo/BusanUniv.git
 
특정폴더를 잘못올려서 (시스템폴더) remote에서만 지워야 할때 (*는 앞에 \ 를 붙여줘야함)
 
브랜치 관련 ( https://www.tuwlab.com/ece/22216 )
  • 목록보기
  • git branch
  • 원격지 목록보기
  • git branch -r
  • 통합 목록보기
  • git branch -a
  • 새로운 브랜치 생성
  • git branch 브랜치이름
  • 브랜치 이동 (커밋하지 않고 브랜치 이동시, 커밋하지 않은 정보를 가져간다. (삭제되지 않음))
  • git checkout 브랜치이름
  • 브랜치 삭제
  • 일반 : git branch --delete feature-01
  • 강제 : git branch -D feature-01
  • 리모트 : git push origin :feature-01
  • 브랜치 이름 변경
  • git branch -m 현재이름 바꿀이름
  • 브랜치 리모트 로컬 연동
  • git branch --set-upstream-to origin/master master
 
 
===================================
사용자 권한 그룹설정, 프로젝트 설정등
 
1. 사용자 생성
useradd jwlee
echo  'la10802' | passwd --stdin jwlee
 
다른 사용자는 모두 pw : ubitec1!
 
  -- 모든 사용자 보기
 cat /etc/passwd
 
2. 폴더 권한 그룹 생성 (이미 생성되어 있음)
groupadd developer
 
3. 사용자 그룹 변경
usermod -g developer jwlee
 
4. 폴더의 하위 폴더 까지 모두 소유 그룹변경
chown -R :developer /usr/git_repo
 
5. 폴더의 권한을 하위 폴더까지 모두 변경
chmod -R 770 /usr/git_repo
 
새로운 프로젝트를 git 올렸을때,
       4,5번을 다시 해줘야 함
===================================
 
글레이들(gradle) 빌드캐쉬 클리어
빌드를 계속하다 보면, 빌드캐쉬가 생성됨 이게 용량이 누적되어 용량을 많이 차지함
 
Terminal 에서 아래 명령어를 치면 build chache 를 청소해줌
 
> gradlew cleanBuildCache
 
변경되어 stage 올라온 파일 숫자 (add 너무 오래 걸릴때(멈춘것처럼) 확인)
 
$ git diff --cached --numstat | wc -l
 
git프로젝트
  • 스마트소화기앱              : SmartFire2.git
  • 해당앱의 실제 웹페이지 : u2-cms_fire.git
  • 부산스마트시티 뚜벅이앱     : BusanSmartCity.git
  • 부산대학교 앱               : BusanUniv.git
  • 스마트소화기 RFID 앱        : SmartFireExtProd.git
  • 스프링 기능 테스트 (개인)   : project_manager.git
 
merge rebase
 
merge 방법
  • 마스터로 이동후
  • $ git checkout master
  • 논패스트 머지(브랜치를 남겨야 하는 경우)
  • $ git merge --no-ff 브랜치_이름
  • 패스트 머지 (브랜치를 없애야 하는 경우)
  • $ git merge 브랜치_이름
 
git 최신 브런치 확인하는 방법
  • git branch -r | grep -v HEAD | while read b; do git log --color --format="%ci _%C(magenta)%cr %C(bold cyan)$b%Creset %s %C(bold blue)<%an>%Creset" $b | head -n 1; done | sort -r | cut -d_ -f2- | sed 's;origin/;;g' | head -10
 
 
 
  • RFC3 설정파일 빼는법
  • git add .
  • git reset -- src/main/resources/egovframework/message/key-common.properties src/main/resources/egovframework/message/etc-common.properties

참조:

생활코딩 - 지옥에서온 깃