출처:
생활코딩 git 강의: https://opentutorials.org/module/3762
sourcetree, git 설치 가이드: https://github.com/egoingsb/git-offline/wiki/Sourcetree
git doc: https://git-scm.com/book/ko/v2/%EC%8B%9C%EC%9E%91%ED%95%98%EA%B8%B0-%EB%B2%84%EC%A0%84-%EA%B4%80%EB%A6%AC%EB%9E%80%3F
버전 관리 도구란?: https://opentutorials.org/course/2482/13915
1. revert
이미 다른 사람에게 공유했거나, 내 실수를 보존해야 할 때 사용.
ex)
c3에서 a를 수정해서 커밋함(c4). 근데 a를 수정한 게 실수여서 a를 다시 빼고 커밋(c5)한 상황일 때.
->
c4에서 c3이로 reset 하면 안 됨. 그러면 공공의 적이 됨!!!
실수를 보전&커밋하면서 이전상태로 돌려야 함
->
c3을 revert
: 사진 참고. +3이 추가되었고, c4에서는 추가된 3을 빼는 것임
여기서 3 way를 접목시켜보면
: c2와 c4를 병합. 근데 여기서 참조하는(base가 되는) 것은 c3
2. 원격 저장소와 연결하기
2.1 clone 하는 법
저장소의 고유한 주소. clone with ssh로 해야 함
이미 있는 저장소를 복제해서 가져오자.
http://egloos.zum.com/thisno/v/4022154
clone 해서 가져온 것은 commit 가능하다. 그러나 push 불가능 (허가된 사용자만 가능)
원격
내 앞에 있는 것이 local. 나를 넘어 있는 것이 remote
local과 remote를 연결시킨다.
업로드 PUSH (로컬에서 리모트로)
- 백업 달성
- DROPBOX처럼 어디에서나 일할 수 있는 환경
- 협업 달성
- 집에서 일 가능
사진 참고
쳇바퀴 돌며 push pull commit 하는 거임
보안
통신하는 두 가지 방법, htttps, ssh (어떤 통신방법으로 동기화할 것인가)
-어떤 통신방법인지에 따라 주소가 달라짐.
ssh key
비밀번호를 만들고 이거를 올려줘야 함
push 할 때 비번도 같이 보냄. 그럼 받았을 때 비번과 같으면 ok.
ssh key 생성 방법
1. 비번 생성. 계속 엔터 치기
명령어:ssh -keygen
2. ls -al 해보기
키 생성된 폴더 ls 해보면 rsa 파일이 2개가 있.
id_rsa.pub는 public 공개키
id_rsa는 private 비공개 키 - 잃어버리면 안 됨.(인터넷 공개도 안됨)
3. 깃 헙에 등록하기
- 먼저 깃헙에 등록할 키 복사할 명령어
cat 폴더 경로\id_rsa.pub
- github.com/settings/keys 사이트로 이동
new ssh key 클릭 후 등록
- sourcetree에 private key 등록
openssh로 선택
3. 내 저장소를 원격에 올려보자
= push an existing repository from the command line
1. 먼저 github.com 가서 repository 생성해주기.
+ ssh 주소 얻어오기
2. 그 후 밑에 있는 방법 따라하기
- git cmd로 하는 법
git remote add origin git@github.com:sjs2215/fintech-git-offline-egoing.git
git push -u origin master
- sourcetree에서 하는 법
원격 저장소는 너야. 별명은 origin이야
지역 저장소가 원격 저장소를 아는 단계까지 옴.
이제 push 하면 됨.
sourcetree에서 push
내 첫 제대로 된 pushㅎㅎ
원격 추적용 branch 생성됨
원격 추적용 브랜치. 기술적으로 차이가 없음.
이걸 보고 알 수 있는 건 = 아 내가 push를 하나 안 했구나라는 걸 알 수 있음.
전:
후:
팀원에게 프로젝트 참여 권한 주기
- repository - settings에서 추가 가능
4. 협업하는 상황을 만들어보자 (left와 right 가 협업하는 상황)
left와 right 둘 다 파일의 다른 부분을 수정했다고 치자.
left 먼저 push 하고 right push 상황일 때
right한테 뜨는 메시지
= 반려됨.
= right야 일단 pull 해봐. 그리고 합병 문제가 있던 말던 네가 알아서 해결하고 다시 push 해.
그 후, right는 fetch, merge 하고 push 해두면,
right가 다 해서 push 했으니까. left는 pull만 하면 됨.
git으로 협업 효과 상승:
commuication 촉진 굳.
push 늦게 한 사람 pull 해서 가져오면 merge 에러 개 많이 뜨고 덤터기 씌어지기 때문에 다들 push를 주기적으로 많이 함. 습관화해야 함 ^_^
push를 나를 위해/조직을 위해 하자
작업 직전에 꼭 pull 하고 시작.
Fetch, Pull, Merge
pull = fetch 한다. origin/master를 가지고 온다.
merge = origin/master와 master를 병합한다.
=> pull = fetch+merge -> pull에는 두 가지 개념이 같이 혼합되어 있다는 것을 알고 있자!!!
다른 방안) fetch 하고 rebase 하는 방법.
'GIT.GITHUB' 카테고리의 다른 글
[GIT/GITHUB] Sourcetree에서 탈출하기 (0) | 2019.08.15 |
---|---|
[GIT/GITHUB] 깃 '이해'하기 (Branch, Merge 해보기) (0) | 2019.08.13 |
[GIT/GITHUB] 깃 '이해'하기 (repository, commit, checkout, reset 해보기) (0) | 2019.08.09 |
git 쉽게 설명 (0) | 2018.12.17 |
Comments