Commands/git + github 7

(ubuntu) github repository 을 ssh 로 액세스

1. git 을 인스톨sudo apt install git 2. 유저설정git config --global user.name 사용자이름git config --global user.email 사용자 이메일 주소 3. ssh-key 공개키 작성ssh-keygen -t rsa -C "메일 주소" 디폴트 옵션으로 작성하면 아래의 폴더에 ~/.ssh/id_rsa.pub 가 생성 4. 공개키를 클립보드에 복사일단 클립보드 복사 툴을 설치sudo apt update sudo apt install xclip 공개키 복사cat ~/.ssh/id_rsa.pub | xclip -selection clipboard 5. 4에서 복사한 공개키를 자신의 github 에 설정github.com 에 로그인settings >> SS..

5. 고급 git commands

※ 이력은 $ git log 를 통해 확인 가능 1. 직전 commit 를 수정 myfile.txt 를 수정$ git add myfile.txt $ git commit --amend   => "second commit" 가 표시되고 수정가능 => "second & edit commit" 2. revert | reset이전의 commit 을 취소하는 기능은 같으나 로그가 남는(revert)것과 남지 않는(reset)것이 다른 점이다.팀으로서 개발시에는 다른 팀원들이 이력을 알 수 있도록 하는 면에서 revert 를 추천한다. $ git revert HEAD=> 자유롭게 메세지 수정 가능   $ git reset --hard HEAD~~  3. cherry-pickmaster(second commit)에서 ..

4. merge conflict 해결

merge conflict 의 시나리오1. 동일 화일을 변경해서 merge 하는 경우        master 에서 issue2 와 issue3 로 분기해서 작업                  먼저 issue2를 merge하고나서 issue3를 merge하는 경우$ git checkout master Switched to branch 'master' $ git merge issue2 Updating b2b23c4..8f7aa27 Fast-forward  myfile.txt |    2 ++  1 files changed, 2 insertions(+), 0 deletions(-)$ git merge issue3    Auto-merging myfile.txt    CONFLICT (content): Mer..

2. tag & release

태그(Tag) & 릴리스(Release) 사용 가이드태그(tag)는 프로젝트 저장소 내에서 특정 커밋(commit)을 ‘버전’ 또는 ‘중요 시점’으로 고정해 두는 표시입니다.릴리스(release)는 그 태그를 기준으로 소프트웨어 배포 가능 상태를 만들어 사용자나 팀원에게 알리는 기능입니다. 따라서 태그 + 릴리스를 활용하면 다음과 같은 이점이 있습니다:버전 관리 명확화 — “이 커밋이 v1.0이다” 하고 고정할 수 있어서 나중에 이력을 추적하기 쉬워집니다.배포/배포 가능 버전 표시 — 사용자나 다른 팀원이 “이게 릴리스 버전이다” 라고 인식할 수 있습니다.문서화 및 이력 관리 — 릴리스 노트를 써서 무엇이 바뀌었는지를 기록하면 유지보수에도 도움이 됩니다. GitHub(혹은 Git)에서 태그와 릴리스를 만..

1. git - 정상적인 처리

준비 로컬 리포지트리에서 github 에의 인증을 위해 엑세스 토큰 생성 ☞ 여기를 참조1github의 새로운 정책에 의해 패스워드 입력이 나오면 엑세스 토큰을 입력해야 하니 주의가 필요github 리포지트리 생성외부에 공개하지 않는 경우에는 Private를 체크하고 나머지는 디폴트설정 후 Create repository생성된 리포지트리 화면에서 Code 를 클리하여 URL 을 카피한다. 새로운 프로젝트를 등록로컬 개발PC의 컴멘드 프롬프트에서 개발 디렉토리로 이동github에서 카피한 URL clone 한 후 생성된 리포지토리명 디렉토리로 이동한 후 main 브랜치로 전환> git clone https://github.com/your_account/repository_name.git> cd your_a..

0. git 기초

Git의 대표적인 브랜치 전략 Git Flow … 유연한 브랜치 구성이지만 복잡GitHub Flow … master 브랜치는 deploy가능한 상태를 유지하기에 최소 구성GitLab Flow … develop, staging, production 브랜치등의 상용 전개를 의식※ GitHub과 함께 사용하기에 GitHub Flow를 소개한다.branch / commit main은 기본 브랜치로, 새로운 기능은 별도의 브랜치(dev-1 등)를 만들어 개발합니다. 작업 중에는 자주 커밋하여 복구가 쉽게 하고, 같은 파일을 여러 브랜치에서 수정하면 충돌이 생길 수 있으므로 주의합니다. 기능 구현 후에는 main에 병합하며, 그 전에 최신 main을 pull 하여 충돌을 방지합니다. 병합이 완료된 브..