Git 11

[IntelliJ] github token 로그인

통합 개발 환경(IDE)을 이클립스에서 인텔리제이로 이사하게 되었다. 우리 깃허브는 토큰으로 인증하는 방식이기 때문에 아래와 같이 깃허브에 로그인한다. 인텔리제이에서 토큰 방식으로 로그인 할 때는 해당 토큰에 필수적으로 가지고 있어야 할 권한이 있다. repo, workflow, read:org, gist 현재 내 토큰에는 기본 권한밖에 없으니까 추가로 부여해주자! 기존에 받았던 토큰 권한을 수정한다. 이후 발급받은 토큰으로 인텔리제이에 로그인하면 저장소에 있는 모든 레파지토리 목록을 불러오고 손쉽게 clone 받을 수 있다.

Git 2023.05.24

fork 저장소 동기화

$ git remote add origin-flit 원 저장소 주소 $ git remote -v originhttps://github.com/brownbears1/flit.git (fetch) originhttps://github.com/brownbears1/flit.git (push) origin-flithttps://github.com/takluyver/flit.git (fetch) origin-flithttps://github.com/takluyver/flit.git (push) 외부 저장소 최신 내용 가져오기 $ git fetch origin-flit 다음 merge를 할 브랜치로 변경한 다음, 위에서 가져온 최신 내용을 merge $ git checkout master $ git merge or..

Git 2022.06.09

Git 8강. github 크롬 플러그인 Octotree

크롬 웹 스토어에서 github 검색 Octotree 설치 해준다. https://chrome.google.com/webstore/detail/octotree-github-code-tree/bkhaagjahfmjljalopjnoealnfndnagc?hl=ko Octotree - GitHub code tree GitHub on steroids chrome.google.com 크롬에 플러그인을 설치해주면 github 화면 왼쪽에 버튼이 생성된다. 버튼 위에 마우스만 갖다 대면 해당 Repository의 트리가 보기좋게 나온다. 이 트리로 파일에 접근이 가능하기 때문에 설치하면 편리하다!

Git 2022.03.21

Git 7강. rebase 로그 관리

로그인 파일을 작성 중 어쩔 수 없는 사정으로 중단하고 집으로 가서 마저 작업하는 경우가 생길 것이다. 이때 commit을 해두어야 다른 컴퓨터에서 마저 할 수 있기 때문에 하나의 파일을 만들기 위한 log가 여러 개가 생길 수 있다. 예쁘지 않은 log를 rebase로 정리가 가능하다. 이때 rebase의 squash 옵션을 사용해준다. squash는 찌그러트린다는 말, 즉 압축한다는 말이다. log를 찌그러트릴 때는 원하는 log의 두 끝점 중 가장 과거의 log로 압축해야 한다. 위 브랜치의 3가지 로그인 log의 경우에는 아래 두 개의 log를 날리고 코드를 가장 과거인 로그인 완료 log로 모으는 것이다. git rebase -i HEAD~3 HEAD가 가리키는 곳에서 3개의 log를 rebas..

Git 2022.02.02

Git 6강. merge 충돌

같은 로그인 파일을 두 개의 브랜치에서 수정한 후 merge 하게 되면 충돌(conflict)이 일어난다. 3-way merge를 하게 될 텐데 git이 로그인 체크박스로 병합할지, 로그인 라디오 버튼으로 병합할지 혼란이 오게 되는 것이다. 이런 충돌은 git이 해결할 수 없다. 내가 직접 코드를 수정하고 다시 commit 해주어야 한다. 협업을 할 때 충돌을 방지하기 위해 하나의 파일을 한 명에게 권한을 준다. 웬만하면 같은 파일은 건드리지 않는 게 좋다! [출처] https://inf.run/3Xiz [무료] 지옥에서 온 관리자 Git - 인프런 | 강의 “소규모 협업을 통해 프로젝트 개발을 하고 싶은데 어떻게 해야 할지 모르겠어요!” “취업을 앞둔 취준생인데 Git을 몰라요!” 취준생, 주니어 개발..

Git 2022.02.02

Git 5강. branch, merge

블로그 프로젝트를 만든다고 가정해보자. main branch에서 회원가입 파일을 만들고 commit, 로그인 파일을 만들고 commit 한 상태이다. 직원 한 명이 아이디어를 냈다. 아이디 중복체크를 구현해보는 게 어때요? 하고. 그럼 너 그거 만들어봐! 하고 idea branch를 따로 만들었다. idea 브랜치는 로그인에서 파생되어 main 브랜치의 모든 히스토리(회원가입, 로그인)를 갖고 있는 브랜치이다. 이때 로그인이 main 브랜치의 분기점이 되는것이고 main과 idea 브랜치의 공통 조상, 뿌리가 된다. idea 브랜치에서 아이디 중복체크를 완료하고 완성된 중복체크 프로그램이 마음에 들어서 main 브랜치와 합치고 싶을 때 merge를 사용해준다. 그런데 main 브랜치와 idea 브랜치의 ..

Git 2022.02.01

Git 4강. reflog, amend

git reflog reflog를 사용하면 내가 한 번이라도 commit 한 적 있는 log들을 모두 확인할 수 있다. 이때 두번째 사진을 commit 했을 때 log의 해시 코드가 a7b9일 때 git reset --hard a7b9 라고 입력해주면 두번째 사진을 commit 했을 때로 돌아간다. 작업환경에 test2.txt 파일이 다시 생긴 것도 확인할 수 있다!! git log로 확인해볼 수도 있다. 만약 log가 여러개면 reset을 사용해 돌아갈 수 있는데 하나밖에 없을 때는 히스토리가 없기 때문에 돌아갈 곳이 없다. 그러면 하나밖에 없는 log, 최종 커밋 로그는 어떻게 변경해야 할까? 이때는 amend를 사용해주어야 한다. git commit --amend -m "변경할 이름" [출처] ht..

Git 2022.02.01

Git 3강. Git reset

git의 log를 잘 못 입력했거나, 수정이 필요할 때 log를 복구하는 명령어이다. git reset reset에는 3가지 옵션이 있다. 1. soft 2. mixed 3. hard 1. reset --soft reset은 log의 해시 코드를 이용해 변경해준다. 우선 test1.txt파일을 만들어 준 뒤 commit 해주었다. test2.txt 파일을 만들어 준 뒤 commit 해주는데 log 이름에 오타가 났다. 바로 직전의 로그를 변경할 때는 soft를 사용해준다. 돌아가고 싶은 상태의 커밋 로그의 해시값을 입력해준다. git reset --soft 9438 그리고 다시 commit 해주면 로그 수정이 가능하다. 2. reset --mixed mixed는 test2.txt 파일의 내용을 수정하고 ..

Git 2022.02.01

Git 2강. github

버전 관리 시스템 VCS(Version Control System) - 파일 변화를 시간에 따라 기록했다가 나중에 특정 시점의 버전을 다시 불러올 수 있는 시스템 중앙 집중식 버전 관리 시스템 CVCS(Centralized Version Control System) - 서버가 별도로 있고 클라이언트가 중앙 서버에서 파일을 받아서 사용하는 방식 협업하기에 버전 관리가 쉽지만 중앙 서버에 문제가 발생한다면 치명적이라는 단점이 있다. 분산 버전관리 시스템 DVCS(Distributed Version Control System) - 단순히 파일의 마지막 스냅샷을 checkout 하지 않고 저장소를 히스토리와 더불어 전부 복제 서버에 문제가 생기면 이 복제물로 다시 작업을 시작할 수 있고 클라이언트 중에서 아무나..

Git 2022.01.14