-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathIntroduction_Git
More file actions
98 lines (89 loc) · 6.22 KB
/
Introduction_Git
File metadata and controls
98 lines (89 loc) · 6.22 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
#git
- 작업 트리 : 파일을 수정, 저장 등의 작업을 하는 공간. 즉 git directory
- 스테이지 : 파일이 대기하는 곳
- 저장소 : repository. 스테이지에서 대기하는 파일을 버전으로 만들어 저장하는 곳
- 작업 트리(로컬)->스테이지(대기)->저장소(저장)
git config user.name 'A' : 유저명 A로 변환
git config user.email 'B' : 이메일 B로 변환
git init : 현 위치에 레포지토리 생성
git status : 깃 상태 확인
git diff : 최근 버전과 작업 폴더의 내용 차이 확인
git commit -- amend : 커밋 메시지 수정
git checkout -- 파일명 : 깃 체크아웃
git reset HEAD 파일명 : 깃 unstage * HEAD 안붙이면 전체 파일 리셋임
git commit -am "메시지명" : 커밋. -a는 add 생략하고 바로 스테이징, -m은 메시지 입력
git reset HEAD^ : 최근 커밋 취소. 여러개 하려면 HEAD~(숫자)형식
* --soft HEAD^ : 최근 커밋을 하기 전 상태로 작업 트리를 되돌림
* --mixed HEAD^ : 최근 커밋과 스테이징 하기 전 상태로 작업 트리 돌리기(기본)
* --hard HEAD^ : 최근 커밋, 스테이징, 파일 수정 전으로 돌리기
git reset --hard (깃 해시) : 깃 해시 상태로 돌림. 그 전 것은 삭제니 주의
git revert (깃 해시) : 깃 해시 상태로 돌림. 커밋 삭제하지 않고 되돌리기
master : 가장 최신 커밋
merge : 변경하다가 master에 병합
HEAD : 현재 작업 중인 브랜치
git branch (브랜치명) : 브랜치 생성
git branch : 브랜치 확인
git log --oneline : 커밋 간략하게 확인
git checkout (브랜치명) : 해당 브랜치로 이동
git add . : 현재 저장소에서 수정된 파일 전부 스테이징
git log --oneline --branches : 각 브랜치 커밋 보기
git log --oneline --branches --graph : 각 브랜치 커밋 그래프로 보기
git log (브랜치명1)..(브랜치명2) : 각 브랜치 차이 보여주기(왼쪽 기준)
git merge (브랜치명) : 병합할 브랜치와 합병
git merge (브랜치명) --no-edit : 편집기 실행하지 않고 커밋 메시지 작성
git merge (브랜치명) --edit : 편집기 나타나지 않게 했을때, 나오게 하는 방법
git stash : 현재 것을 현재 브런치로 돌리면서, 임시 저장의 느낌
* git stash@{0}부터 시작해서 stack처럼 쌓임
git stash list : 스태쉬 리스트 확인
git stash pop : 가장 최근 스태쉬 가져오기
git stash apply : 스태쉬 가져오지만, 저장 상태는 유지
git stash drop : 최근 스태쉬 삭제
git remote add origin 주소 : 원격 저장소(remote)에 origin 브랜치를 추가
git remote -v : remote 목록을 자세히(verbosely) 보여줘
merge 시에 병합 알고리즘이 2 way와 3 way방식이 있는데 3way가 더 좋음
* 대표적인 병합프로그램 : P4Merge, Meld, Kdiff3, Araxis Merge
git branch -d (브랜치명) : 브랜치 삭제. d는 delete를 뜻하며, 삭제해도 같은 이름으로 하면 예전 내용 볼 수 있음
* -D의 경우 병합되지 않은 브랜치도 강제 삭제
git reset (커밋해시) : 현재 브런치의 최신 커밋을 원하는 커밋해시로 변경. git checkout과 다르게 기존 것은 사라짐
git push -u origin master : 지역 저장소 브랜치인 origin을 원격의 master 브랜치로 푸시
* -u는 처음에 연결하기 위해 필요한 것
* 그 이후에는 커밋 -> git push하면 됨.
git pull origin master : 원격 저장소 브랜치인 origin을 로컬의 master 브랜치로 가져 옮
fork : 복사
ssh-keygen : ssh로그인 방식의 키 받기
clone / cloning : 원격 저장소를 지역 저장소로 똑같이 가져옮
git clone (복사한 주소) git_home : 해당 주소의 깃을 git_home으로 가져오기
HEAD->master : 해당 커밋이 지역 저장소의 최종 커밋
origin/master : 원격 저장소의 최종커밋
git fetch : 원격 브랜치 정보 가져오기(어떤 변화가 있는지 확인)
git checkout FETCH_HEAD : 페치해서 최신 커밋 확인
git diff HEAD origin/master : 지역 저장소 최신 커밋과 페치한 커밋 차이 비교
git merge FETCH_HEAD : (브랜치 변경 후) 페치한 내용과 병합
* 2번 엔터하면 비번 생성
*id_ras파일 : 프라이빗키 / id_rsa.pub : 퍼블릭키
.ssh : 해당 디렉터리는 홈 디렉터위 하위에 만들어짐
- 방법 : 홈 디렉터리 -> git init connect -ssh -> cd connect-ssh
-> git remote add origin (복사한 레포지토리 주소)
git checkout -b -f : 브랜치 f를 만들고 바로 f로 체크아웃
git push origin f : 원격 저장소에 f브랜치를 푸시
full request : 보통 merge는 그냥 병합이지만, 이 경우에는 병합하는지 허락 받는 용도(협업용)
# 마크다운 문법
- # 크기로 텍스트 크기 설정
- 텍스트 단락을 바꿀 때는 빈 줄을 하나씩 넣어야함
- 가로줄 추가 방법은 '*' 나 '-'로 조절
- 순서 목록은 1, 2, 3.... 추가하면 됨
- 순서 없이는 '-', '+', '*'를 앞에 하나씩 두면 됨
- Tab으로 들여쓰면 여러 단계 목록도 가능
- 텍스트 강조 방법 : 굵게(**나 __), 기울임(앞뒤를 *나 _로 감싸기), 굵은 기울임체(***나 ___)
, 취소선(앞뒤를 ~로 감싸기)
- 인용문 삽입 방법은 '>' 넣기. 이후에는 꺽쇠 갯수를 변경하면 됨
- 소스코드 삽입은 '`'로 추가. 쉼표가 아니라 왼쪽 상단 키로 그레이브라고 함
- 여러 줄의 소스는 ```를 붙이고 그 뒤에 자바스크립트나 파이썬 언어 표시
- 링크 주소 <링크주소> or [링크 텍스트] (링크 주소) or [링크 텍스트](링크 주소, "부가 설명")
- 이미지 삽입 : 
- 혹은 깃허브에 파일을 업로드하고 
컨트리뷰션 : 오픈 소스 프로젝트 참여. 처음에는 번역, 오타 등 부터 시작
포크 : 오픈 소스 저장소를 본인의 저장소로 복제. 직접 수정하면 안되기 때문
컨트리뷰션 하는 방법 : 변경 이후 new pull request 들어가서 diff확인 후 Create pull request
* 내가 받을 때는 목록 확인 후 Merge pull request
깃허브에 개인 블로그 운영 방식처럼도 가능 : 레포지토리 생성 - 사용자id.github.io 이후 홈페이지 css와 html 파일을 업로드 -> setting -> github pags