깃허브: 11개의 글
백준허브는 Leetcode의 제출 코드를 자동 푸시해주는 LeetHub라는 프로젝트를 포크하여 만든 익스텐션으로, 백준, 프로그래머스, SWEA 문제를 해결하면 등록한 Github Repository에 자동으로 코드와 문제 요약을 푸시합니다. 백준허브는 내가 푼 문제가 정답일 경우 해당 코드뿐만 아니라 성능과 메모리, 구체적으로 어떤 문제였는지 까지 같이 커밋합니다. 1. 크롬 확장 프로그램 설치 크롬 웹스토어에서 백준허브 확장 프로그램을 설치합니다. https://chrome.google.com/webstore/detail/%EB%B0%B1%EC%A4%80%ED%97%88%EB%B8%8Cbaekjoonhub/ccammcjdkpgjmcpijpahlehmapgmphmk?hl=ko 2. 깃허브 연동 크롬 확..
오늘 다루어볼 내용은 git의 cherry-pick(체리픽)이다. 보통 체리픽을 사용하는 이유는 다른 브랜치의 커밋의 일부만 가져올때 많이 사용한다. 간단하게 예제를 다루어보자. > gb * [1] feature/add-function [2] feature/update-function 위처럼 두개의 브랜치가 존재하고 각 브랜치의 커밋로그는 아래와 같다. > feature/add-function * 13e321a - (HEAD -> feature/add-function) add c.txt (9 minutes ago) * f894b25 - add b.txt (9 minutes ago) * 35402a1 - add a.txt (9 minutes ago) > feature/update-function * cb6..
오늘 다루어볼 내용은 평소에 조금 헷갈렸던 Git reset과 revert이다. 깃에서 되돌리기 위한 방법은 크게 2가지가 있다. 바로 reset과 revert이다. 그렇다면 둘의 차이점은 무엇일까? reset : 시계를 마치 과거로 돌리는 듯한 행위 revert : 특정 사건을 없었던 일로 만드는 행위 git reset "돌아가고 싶은 커밋 hash" 먼저 reset을 알아보자. reset은 특정 커밋으로 돌아가는 행위다. 그말은 특정 커밋 이후의 커밋이력 모두 없어지게 되는 것이다.(물론 옵션마다 상태가 다르긴하다) reset에는 옵션이 3가지가 있다. hard, soft, mixed 각 옵션에 대한 설명은 아래와 같다. hard : 돌아가려는 커밋 이후의 모든 내용을 다 지워버린다. soft : 돌..
1. fast-forward merge 아래와 같은 상황이 있다고 가정하자. issue 처리를 위해 master 브랜치에서 브랜치를 따서 작업을 하고 있었다. 갑자기 픽스해서 빠르게 릴리즈해야할 버그 사항이 있어 hotfix 브랜치를 master 기준으로 따서 작업을 했다. 버그를 픽스하고 테스트를 통과해 이제 릴리스 해야하는 상황이다. 이제 master에 hotfix를 머지해야되는 상황이다. 그런데 hotfix는 master를 베이스로 하고 있는 브랜치, 즉 master의 upstream 브랜치이다. 이제 머지를 하면 fast-forward 머지가 되는 것인데, 이것은 단순히 master가 바라보고 있는 커밋을 앞으로 이동하는 것(hotfix 브랜치가 가르키는 커밋을 master가 바라본다.) 뿐이다...
이번 포스팅은 굉장히 짧은 포스팅이 될것이다. 포스팅 내용은 ".gitignore" 파일이 먹지않을 때, 해결 방법이다. 분명 .gitignore에 파일 확장자 등을 추가하였는데 계속해서 changes에 나온다면 git의 캐시가 문제가 되는지 확인 해볼 필요가 있다. 아래 명령을 통해 캐시를 삭제해보자. > git rm -r --cached > git add . > git commit -m "clean untracked files" 아마 캐시 되었었던 파일들이 쫙 deleted된걸로 나오고 일부 파일들은 untracked로 나올 것이다. 최종적으로 한번 커밋해주자 ! 출처: https://coding-start.tistory.com/330?category=786242 [코딩스타트]
현상 github에서 저장소 생성 후 저장소 주소를 remote에 입력(git remote add origin https://github…..)했고, 로컬에서도 정상적으로 초기화(git init)했는데도 git pull 또는 git merge 명령이 동작하지 않고 git push origin master시 [rejected] master -> master (non-fast-forward)이런 에러가 발생하는 경우 원인 깃허브에 생성된 원격 저장소와 로컬에 생성된 저장소 간 공통분모가 없는 상태에서 병합하려는 시도로 인해 발생. 기본적으로 관련 없는 두 저장소를 병합하는 것은 안되도록 설정되어 있음. 해결방법 아래와 같이 git pull 시에 –allow-unrelated-histories 옵션 추가하여 ..
GitHub - github를 maven repository로 사용하기 (깃허브를 메이븐 레포지토리로 사용하기) 이번 포스팅은 GitHub를 maven repository로 이용하는 방법입니다. 혹시 Git에 대한 기본 지식이 조금 부족하시다고 생각이 드시면 아래 링크에서 한번 읽고 오시면 좋을 것같습니다. GitHub - 간단한 Git사용법(명령어,로컬 레포지토리,원격 레포지토리) GitHub - Git 사용법 2 (명령어,branch, checkout, reset 등) Github - eclipse(이클립스)와 local repository(로컬레포지토리) 연동. 기본적인 플로우는 아래와 같습니다. Project ------------------->Local Repository-------------..
Github - eclipse(이클립스)와 local repository(로컬레포지토리) 연동 이번 포스팅은 간단하게 이클립스와 로컬 레포지토리 연동입니다. 간단하게 flow를 설명하면, Remote Repository(Github) Local Repository Eclipse(이클립스) 입니다. 혹시나 git에 대한 사전 지식이 없으시다면 이전 포스팅 글을 한번 읽고 와주세요!. GitHub - 간단한 Git사용법(명령어,로컬 레포지토리,원격 레포지토리) GitHub - Git 사용법 2 (명령어,branch, checkout, reset 등) 첫번째 작업은 원격 레포지토리 생성과 로컬 레포지토리 생성 및 연결입니다. 해당 설명은 위의 포스팅에서 참조하시길 바랍니다. 이클립스 & Git(로컬 레포지토리..
GitHub - Git 사용법 2 (branch, checkout, reset 등) 이전 포스팅에서는 간단한 Git 사용법에 대하여 다루어봤습니다. 이번에는 조금 더 나아가서 branch, tag, 잘못 반영된 작업을 되돌리는 작업 등 조금 더 진화된 예제를 다루어보려고합니다. 혹시 이전 포스팅을 보시지 못하셨다면 이전 포스팅을 참고하시고 오시면 좋을 듯 싶습니다. 혹시라도 대부분의 기본 명령어들이 숙지 되어있으시다면 굳이 보시지 않으셔도 됩니다. GitHub - 간단한 Git사용법(명령어,로컬 레포지토리,원격 레포지토리) 로컬 저장소는 git이 관리하는 세그루의 나무로 구성되어 있습니다. 첫번째 나무인 작업 디렉토리(Working Directory)는 이전 포스팅에서 생성한 git 위한 로컬디렉토리입니..
GitHub - 간단한 Git사용법(로컬 레포지토리,원격 레포지토리) Git이란? -깃(git)은 프로그램 등의 소스 코드 관리를 위한 분산 버전 관리 시스템입니다. 깃의 작업 폴더는 모두 기록하고 있어서 추적이 가능하고, 완전한 형태의 저장소입니다. Github란? -git을 호스팅해주는 웹 서비스이며, git 저장소 서버를 대신 유지 및 관리해주는 서비스입니다. 오픈소스 프로젝트는 무료이며, private 프로젝트는 유료입니다. 다른 유저들과 함께 온라인으로 하나의 프로그램을 제작하는 것도 가능하여, 많은 오픈소스 프로그램들이 github을 통해서 전세계 유저들에 의해 제작되고 있습니다. Github를 왜 사용하는가? -깃허브의 심장에서 작동되는 소프트웨어인 깃(Git: 재수없고 멍청한 놈, 자식)을..