본문 바로가기

notes

git 기초

@마크다운


#5월 15일


##git 설치법

```

brew install git

```


##Shell(셸) 설정


brew install zsh zsh-completions


curl -L http://install.ohmyz.sh | sh


확인법

echo $SHELL



##자주 사용하는 명령어 별칭 (alias)지정하기


alias


alias <사용할 명령어>="<명령어 내용>"


## Pycharm 별칭 지정 예시

```

alias py="open -a /Applications/PyCharm\ CE.app/Contents/MacOS/pycharm"

```

![git 라이프 사이클]

(/Users/hongdonghyun/projects/자료/git-lifecycle.png)


##git 사용법

[git 파일 수정하고 저장하기 설명 링크](https://git-scm.com/book/ko/v2/Git%EC%9D%98-%EA%B8%B0%EC%B4%88-%EC%88%98%EC%A0%95%ED%95%98%EA%B3%A0-%EC%A0%80%EC%9E%A5%EC%86%8C%EC%97%90-%EC%A0%80%EC%9E%A5%ED%95%98%EA%B8%B0)


_git add 파일이름_ add를 하면 상태가 뉴파일 or modified로 바뀜 

add한 파일에 내용을 수정하면 modified에 존재하게됨


수정된 파일을 add하면 modified가 초록색(수정이 적용됨)으로 되고 commit준비 상태가 됨(스테이징 상태)


commit을하게되면 nothing to commit이 뜸


```

- git init :git 폴더 설정


- rm -rf .git :파일 지우기 (-rf 하위폴더도 안물어보고 다 지움)


- git status : 변경사항보기 

(최초변경파일 untracked 파일에 저장됨)


- git log : 추가되었던 로그 보기


- touch :파일 만들기


- git add : modified or newfile상태로 추가(add --all 전부추가)


- git commit -m :파일을 local repository에 저장한다(unmodified상태)

- -a : tracking 상태의 파일을 자동으로 staging area에 넣음 


- git diff --staged : 스테이지 영역과 비교


- git diff : modified영역과 비교


- git mv {file_from file_to} : 파일이름 바꾸기

바꾼후 rm {file_to} add {file_to}명령 실행해야함


- git rm : tracked상태의 파일을 삭제 (rm후 commit해야 삭제됨 working directory에 파일도 삭제됨)


- 리눅스 파일 링크 걸기 : ln -s 원본파일 링크걸곳주소


- vim .gitignore

-내용에 *.xxx(확장자) 입력하면 인식하지 않는다.


```


#5월 16일


## git 이어서


bitbucket 비공개 주소


education.github.com

비밀저장소 학생아이디있으면 제공해줌


### git customizing

```

git config --global alias.adog "log --all --decorate --oneline --graph"

```

git adog명령어 만들기


## git 되돌리기

```

git commit --amend

```

전에 커밋한 내용은 지우고 다시 커밋


**커밋한 폴더에 추가하는 명령어**


## 파일상태 unstage로 변경

```

git reset HEAD : (file-name)

staged 상태에 있던 파일이

Unstaged상태로 변경됨

```


## modified파일 되돌리기

``` 

git checkout -- filename

```


최근 커밋된 버전으로 되돌리는방법


## 리모트 저장소

```

git remote add origin github 주소

```

## 원격 저장소 URL 변경하기

기존 원격 저장소 URL을 변경하기 위해 git remote set-url 명령어를 사용합니다:

_origin_은 저장소 이름

## 저장소에 파일 올리기

```

git push origin master

```

## 저장소 파일 다시 받기

```

git clone 저장소 주소 

```

(주소 뒤에 폴더이름을 지정하면 생성됨)



```

echo 'hello' > abc.txt

(간단 파일만들기)

```


## 저장소 나눠쓰기 (공유)


remote 저장소에서 내용을 가져오려면

```

git fetch origin

```

저장소에 있는 내용을 가지고만 오는것

```

git merge origin/master

```

실제 적용해주는 명령어 (합치기)


한번에 해주는 명령어는

```

git pull origin

```

## 태그 넣기 (버전)

```

git tag -a v(버전)

```

### 나중에 태그하기

git tag -a v( 버전) checksum값


## 브랜치

git branch 이름


git branch -v 보기옵션


git log --decorate (가르키고 있는 커밋 확인)


git checkout 이름 : 사용하려는 브랜치로 바꾸기


git branch -m 바꿀이름 (현재의 브랜치를 바꿈)


git checkout -b 이름 :만들면서 바로이동


git branch -D : 삭제


git reset --hard HEAD^ : 브랜치 병합 되돌리기



### 연습해보기


develop에서 iss56을 만들고 하나의 커밋을 생성

이후 iss53과 develop을 merge


다음  iss56과 develop을 merge


다음 develop을 production에 merge



'notes' 카테고리의 다른 글

vim 단축키  (0) 2017.08.28
git 기초 2  (0) 2017.08.28
pickycookbook project 에서 사용된 네이버 레시피 크롤러  (0) 2017.08.23
2017-06-18 markdown 문법 필기  (0) 2017.07.21
2017-07-05 aws 기초  (0) 2017.07.21