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 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 masterex>git push BusanUnivOrigin2 master
-
만약 error: src refspec master does not match any.
>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 해온다.
-
git remote add u2CmsFire ssh://jwlee@211.57.203.43/usr/git_repo/u2-cms_fire.git
ㅁ 원격저장소 -> 로컬로 프로젝트 가져오기 ( developer 그룹과 root만 접근가능 )
-
Ctrl + Shift + A 전체검색창
-
checkout from version controller 검색 후 선택
-
git 선택
-
체크아웃 할 git 선택, 받는 장소 설정ex> ssh://본인아이디@211.57.203.43/usr/git_repo/BusanUniv.git
ㅁ 특정폴더를 잘못올려서 (시스템폴더) remote에서만 지워야 할때 (*는 앞에 \ 를 붙여줘야함)
-
git rm --cached .idea/\*.\*
-
.gitignore 에 패턴을 등록해서 해당 패턴의 파일은 무시하게 할 수도 있음
-
인텔리j에는 .gitignore 파일 생성이 쉽게 가능함
-
목록보기
-
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
참조:
생활코딩 - 지옥에서온 깃
'회사업무중고민' 카테고리의 다른 글
| tomcat - root가 아닌 tomcat 계정으로 실행 (0) | 2024.05.05 |
|---|---|
| 리눅스 CentOS7 기준 NFS(파일 서버) 구축(참고할만한것) (0) | 2024.05.05 |
| nfs mount시 permission denied 발생 (0) | 2024.05.05 |
| nfsnobody 사용자 권한 (0) | 2024.05.05 |