728x90

저장소

 

  • Working Directory
  • Staging area
  • repository
  • remote repository

 

기본 명령어

 

git init .git 이 생성되어 버전 관리의 시작
git add 파일명 Working Directory -> Staging area
git commit [-m | -am] "메세지이름"
-m 옵션 : 메세지 이름만 적기
-am 옵션 : git add 와 git commit -m 동시에 수행 하기
Staging area -> repository
git push 저장소명 브랜치명 repository -> remote repository

 

저장소 되돌리기

 

HEAD^^  가장 최근 커밋부터 두개 되돌리는 것
git reset --hard HEAD^ Working Directory , Staging area  , Repository 의 가장 최근 부분이 사라지고 , 
Repository 의 head는 두번째 커밋이 된다 ,
이때 현재 작업공간은 두번째 커밋내용으로 변경되며
up-to-date(최신) 상태가 된다.
git reset (--mixed) HEAD^ <default>  Staging area  , Repository 의 가장 최근 부분이 사라지고 ,
Repository 의 head는 두번째 커밋이 된다 , 이때 작업공간은 영향을 받지 않고 그대로 있는다.
git reset --soft HEAD^ Repository 의 가장 최근 부분이 사라지고 ,
Repository 의 head는 두번째 커밋이 된다 , 이때 작업공간과 Staging  area  는 영향을 받지 않고 그대로 있는다.

그외 알아두면 유용한 명령어들..

git diff , git revert 

 

Repository끼리의 상호작용 종류

 

 

git remote (-v) 원격저장소 조회,추가.삭제하기.
내 로컬 Repository와 상호작용하고 있는 원격 저장소들의 목록을 조회
-v 옵션 : 단축이름과 URL 같이 보여줌

git remote add origin URL.git 내 로컬과 상호작용하는 원격저장소로 , origin(단축이름) 이라는 원격저장소 명칭으로 정하여 URL을 원격저장소로 등록하기
git remote rm origin 내 로컬에 등록된 origin(단축이름) 이라는 원격저장소를 제거한다  

 

git push -u origin master 원격저장소에 밀어넣기.
나의 로컬 디렉토리의 master 브랜치를 origin의 master브랜치로 푸쉬하는 것
-u 옵션 : git push -u origin master 로 해주면 , 이후에 origin master 부분을 생략해도 디폴트로 적용됨

git pull (origin master) 
< -u 옵션이 이전에 사용 되었다면 origin master는 생략가능 >
원격저정소 갖고 와서 합치기.
원격 저장소 origin을 내 로컬 저장소의 master 브랜치로 갖고와서 덮어 씌우는 것(동기화,merge)

git fetch origin 원격저장소 일단 갖고만 오기.
origin저장소에 있는 것을 내 로컬저장소로 가져만 오는 것이다.
git pull은 merge 되어 내 작업공간이 사라지지만 , git fetch는 merge 되지 않고 일단 가져만 오는 것이고 , 로컬 저장소에서 영향을 받지는 않는다.
fetch로 가져온 내용은  [origin/master | FETCH_HEAD ] 브랜치에서 확인이 가능하다.

git checkout origin/master 브랜치 변경하기.
현재 브랜치를 origin/master 브랜치로 변경하기
git clone url.git 원격저장소 복사하기.
url 에 있는 원격 저장소 내용을 현재 디렉토리에 복사해오기 , 자동으로 원격저장소가 등록되어 origin역시 자동 생성 된다.

 

브랜치

 

git branch 브랜치종류, 현재브랜치 확인
git branch newbranch newbranch라는 새로운 브랜치 생성
git checkout -b newbranch2 newbranch2라는 새로운 브랜치를 만듬과 동시에 브랜치변경
git branch -D newbranch newbranch 삭제

 

협업시 발생할 수 있는 이슈들

'GIT' 카테고리의 다른 글

branch 삭제 불가능할경우  (0) 2021.09.06
GIT - git pull 시 에러  (0) 2021.05.12
GIT - STS(eclipse)프로젝트로 협업시 gitignore 설정  (0) 2021.05.09
GIT - Git 구성도 및 Git Bash 명령어  (0) 2021.05.09
GIT-명령어,개념정리  (0) 2021.04.27
728x90

$ git branch -d step1
error: Cannot delete branch 'step1' checked out at 'C:/Users/joins/java-racingcar'

 

다음과 같은 에러가 발생하였다

 

이는 현재 브랜치가 삭제하고자 하는 브랜치 이기 때문에 

현재 브랜치를 변경해주어야 한다.

 

git checkout shin.dongcheul

git branch -d 삭제하고자하는 브랜치명

'GIT' 카테고리의 다른 글

Git - 협업과정  (0) 2021.09.12
GIT - git pull 시 에러  (0) 2021.05.12
GIT - STS(eclipse)프로젝트로 협업시 gitignore 설정  (0) 2021.05.09
GIT - Git 구성도 및 Git Bash 명령어  (0) 2021.05.09
GIT-명령어,개념정리  (0) 2021.04.27
728x90

로컬 데이터가 변경된 상태에서 git status시 화면.

 

이 상황에서 git pull 을 수행하면 , 

다음과 같은 에러가 발생한다.

 

그럼 기존의 작업을 임시저장소에 저장시키기 위해 git stash 를 입력한다.

 

이상태에서 다시 git pull 을 수행한다.

 

다시 git status 확인.

 

git stash list  로  임시저장소목록을 확인한다. 아래그림에는 하나 등록된것을 볼수 있다.

 

git stash apply 를 통해 임시저장소에 저장된 가장 최근의 목록을 로컬로 가져온다.

자세한 옵션은 gmlwjd9405.github.io/2018/05/18/git-stash.html 을 참고한다.

 

이상태에서 git status 를 수행해본다.

 

기타 자세한 git stash 옵션은 gmlwjd9405.github.io/2018/05/18/git-stash.html 을 참고하자.

'GIT' 카테고리의 다른 글

Git - 협업과정  (0) 2021.09.12
branch 삭제 불가능할경우  (0) 2021.09.06
GIT - STS(eclipse)프로젝트로 협업시 gitignore 설정  (0) 2021.05.09
GIT - Git 구성도 및 Git Bash 명령어  (0) 2021.05.09
GIT-명령어,개념정리  (0) 2021.04.27
728x90

defacto-standard.tistory.com/252 을 따라 공유하면 안되는건 제외시켜봄

 

.gitignore파일을 .git 폴더경로에 생성후

다지우고 , 

 .settings/ , .classpath , .project , .springBeans  이 4개를 제외파일로 정해놈.

(settings 은 디렉토리라 뒤에 / 를 붙여줌)


혹시 gitignore가 안될 경우를 대비해서 밑 명령어들을 수행해줌.
git rm -r --cached .
git add . 
git commit -m "cache removed"
git push  

'GIT' 카테고리의 다른 글

branch 삭제 불가능할경우  (0) 2021.09.06
GIT - git pull 시 에러  (0) 2021.05.12
GIT - Git 구성도 및 Git Bash 명령어  (0) 2021.05.09
GIT-명령어,개념정리  (0) 2021.04.27
GIT-STS연동,github의 대강적인구조  (0) 2021.04.27
728x90

-개요

 

본래 sts에서 git 연동해서 진행하려 하였으나 sts(eclipse)가 너무 불편하여 

이참에 git bash 로 협업파일들을 관리하기로 결정하였다.

 

-구성도

 

 

-명령어

----------------------------------------------etc-------------------------------------------------
(1)★특정깃 다운로드★
git clone 특정깃주소

(2)★변화확인★
git status

(3)★staging area -> unstaging area 로 단순올리는 것을 취소★
git reset 파일이름.확장자
git reset (모든파일 unstaging)

(4)★로컬에서 작업하다가 git에 최종등록되어있는 것으로 회귀-애매한데맞을것임★
git restore 파일명.확장자

(5)★어떤상태든 상관없이 마지막 커밋메세지수정★
git commit --amend
i키를 눌러 변집하고 esc키를 눌러 탈출한 뒤 :wq!를 입력하면 수정됩니다.

(6)★이미 push된 마지막 commit 메세지를 수정★
(5)를 거친후 , git push -f 해주면 된다.

(7)★push 된 로그들 확인★
git log

(8)★(remote 깃에 영향 없음) 특정 commit 부분으로 로컬프로젝트를 되돌림
(특정 commit이후 로그는 전부삭제됨. 역시 (remote 깃에 영향 없음) )★
git log 에서 해쉬 따와서
git reset --hard 해쉬값

(9)★(8)을 거친후 git push 진행시 rejected 발생하는데,이때 강제로 push 진행
(remote 깃 commit 내역이 로컬 commit 내역과 동일하게 바뀜)★
git push -f
--------------------------------------------------------------------------------------------------


-------------------------------- local => remote -----------------------------------------------
(10)★staging area로 적재★
git add 파일이름.확장자
git add . (모든파일 staging)

(11)★local repository로 적재★
git commit -m "커밋메세지 자유로이 작성"

(12)★remote repository로 적재★
git push
enter로 목록쭉 확인, 나올때는 Q 
---------------------------------------------------------------------------------------------------


----------------------------------- remote => local---------------------------------------------
(13)★remote repo 에서 변경데이터들 가져오기★
git pull
--------------------------------------------------------------------------------------------------

 

 

 

 

-참조 

동빈나 유투브 깃강좌

www.youtube.com/watch?v=I4latDqXo5M&list=PLRx0vPvlEmdD5FLIdwTM4mKBgyjv4no81&index=7

'GIT' 카테고리의 다른 글

branch 삭제 불가능할경우  (0) 2021.09.06
GIT - git pull 시 에러  (0) 2021.05.12
GIT - STS(eclipse)프로젝트로 협업시 gitignore 설정  (0) 2021.05.09
GIT-명령어,개념정리  (0) 2021.04.27
GIT-STS연동,github의 대강적인구조  (0) 2021.04.27
728x90

-GIThub내부개념-

Organization -  이 계정은 여러 명이 같은 프로젝트를 관리하는 데
 사용하는 그룹 계정이고 사람들을 서브 그룹을 나누어 관리하는
 도구도 있다.

 

-git 구조파일-

.git 
라는 이름의 숨김 폴더가 하나 생긴다. 
이것을 저장소라고 하는데 깃은 이 폴더의
 모든 변경 내용을 여기에 저장한다. 
이 파일을 지우면 더 이상 깃으로 폴더의 변경사항을
 추적할 수 없다.

 

-git 명령어-

git remote
 현재 프로젝트에 등록된 리모트 저장소를 확인할 수 있다. 
 이 명령은 리모트 저장소의 단축 이름을 보여준다.
 저장소를 Clone 하면 `origin`이라는 리모트 저장소가 
자동으로 등록되기 때문에 `origin`이라는 이름을 볼 수 있다.

728x90


-   git-spring 연동하기 

-   git 에서 repository를 만들고 sts에서 연동-
-   Github에 업로드-
-   git에서 프로젝트가져오기-
-   다른사람의 git에서 소스코드가져오기 - 

참고주소 : all-record.tistory.com/163 (강추)

 

- sts에서 깃관련 설정 상세정보-

참고주소 gasaesososo.tistory.com/13

 

-   일반 eclipse-git 연동    -

참고주소 : silvernine.me/wp/?p=267


- 깃의 대강적인 구조- 

 

참고주소 : opentutorials.org/module/3963/24425

 

 

 

'GIT' 카테고리의 다른 글

branch 삭제 불가능할경우  (0) 2021.09.06
GIT - git pull 시 에러  (0) 2021.05.12
GIT - STS(eclipse)프로젝트로 협업시 gitignore 설정  (0) 2021.05.09
GIT - Git 구성도 및 Git Bash 명령어  (0) 2021.05.09
GIT-명령어,개념정리  (0) 2021.04.27

+ Recent posts