본문 바로가기

Git

(20)
[Git] 특정 파일 되돌리기 (git checkout) 이미 변경 사항을 커밋, 푸시를 했는데 특정 파일만 되돌리고 싶은 상황이 생길 때가 있다. 사실 손으로 한땀한땀 코드를 되돌릴 수 있겠지만! 우리는 멋쟁이 개발자니까~! 스마트한 방법을 이용해 되돌려보자 :) 특정 파일 되돌리기 현재 브랜치를 변경하지 않고 돌리고 싶은 시점의 커밋 아이디와 파일 경로를 지정해주면 된다. $ git checkout 돌리고 필요 시 다시 커밋/푸시 하면 원하는 파일만 롤백되어 안전히 반영이 가능하다. 끝? 응 끝.. 너무 간단하다. 하지만 모르면 또 못쓴다. 외우진 말고 이 포스팅을 다시 보자 ㅎㅎ 참고 Git을 잘 써보자- 13. git 복구 - git checkout 특정 파일 되돌리기
[Git] fork repository 최신 버전으로 유지하기 들어가기 프론트, 백(me!) 레포지토리를 나눠서 사이드프로젝트를 진행 중에 있었다. 프론트 레포지토리를 로컬에 받아서 봐야하는 상황이 생겼다. 내가 Fork한 프론트 프로젝트를 받았는데 자꾸 옛날 커밋 정보만 남아있는 것이다. 신규 작업해주신 커밋 내용이 없었다. 아차!! 내가 Fork한 프로젝트는 최신 버전으로 업데이트가 안되는구나.. 깨달았고 민망함에 다음부터는 이러지 말자 깨닫고 진행한 내용을 작성해본다. (git이라고는 master에 푸시밖에 안하는거 들통남..) 0. 기존 상황 가정 예전 시점에 원본 Repository를 Fork 하였고, 이후 원본 Repository가 변화되어있는 상황 로컬에 Fork한 Repository를 받은 상황 이러한 상황에서는 아무리 Pull(Fetch, Merge..
(미완성) [Git/에러] Git Push 시 에러 해결 (fatal: refusing to merge unrelated histories) 서로 결합되지 않은 Git Push, Pull 시도 시 아래와 같은 에러 발생 fatal: refusing to merge unrelated histories 해결 git pull origin master --allow-unrelated-histories --allow-unrelated-histories 명령옵션 사용하여 강제로 pull을 한다. 참고글 gdtbgl93.tistory.com/63 Git push가 안되는 경우 (fatal: refusing to merge unrelated histories) 로컬 저장소에 있는 프로젝트를 깃허브 사이트를 통해 만든 저장소로 push 하는 경우에 이런 메세지가 뜨는 경우가 있다. 1 2 3 4 5 6 7 8 C:\Users\gitProject>git pus..
[Git] git GUI SourceTree 터미널에서 열기 git GUI SourceTree 커맨드 창에서 열기 일단 source tree가 설치되어있다고 가정한 후 진행합니다. 터미널에 아래 명령어를 복붙합니다. alias stree='/Applications/SourceTree.app/Contents/Resources/stree' 이후 stree 라고 치면 해당 프로젝트를 담은 source tree가 열립니다.
[Git] 태그 (tag) 태그 (tag) git에서의 태그(tag)는 특정한 커밋의 버전을 의미합니다.핸드폰 OS, 어떤 소프트웨어를 설치했을 때 등 'x버전이 나왔으니 업데이트 하세요.' 식의 업데이트를 요구할 때가 있습니다. 이런 업데이트의 버전을 git에서는 tag로 나타낼 수 있습니다. 사용법을 알아보겠습니다. 태그 생성 방법에는 두 가지가 있습니다.태그 이름과 커밋만으로 생성할 경우 light weight tag, 메세지와 부가정보를 담고 있는 경우 annotated tag를 사용해서 생성하면 됩니다. 기본 tag 생성 (light weight tag)$ git tag "태그 이름" [커밋id] 정보를 지닌 tag 생성 (annotated tag)$ git tag -a "태그 이름" -m "태그 설명 메세지" [커밋id..
[Git] pull과 fetch의 차이 pull과 fetch의 차이 pull원격 저장소로부터 필요한 파일을 다운 + 병합지역 브랜치와, 원격 저장소 origin/master 가 같은 위치를 가리킨다. fetch원격 저장소로부터 필요한 파일을 다운 (병합은 따로 해야 함)지역 브랜치는 원래 가지고 있던 지역 저장소의 최근 커밋 위치를 가리키고, 원격 저장소 origin/master는 가져온 최신 커밋을 가리킨다.신중할 때 사용한다.사용하는 이유? 원래 내용과 바뀐 내용과의 차이를 알 수 있다 (git diff HEAD origin/master) commit이 얼마나 됐는지 알 수 있다 (git log --decorate --all --oneline) 이런 세부 내용 확인 후 git merge origin/master 하면 git pull 상태와..
[Git] 원격 저장소의 작업 가져오기 (pull) 원격 저장소의 작업 가져오기 (pull) 원격 저장소가 있고 로컬A, 로컬B에서 원격 저장소의 작업을 협업하고 있을 때라고 가정합시다.로컬B에서 작업을 수정하고 원격 저장소에 올렸을 때 수정된 내용은 로컬B와 원격 저장소에만 존재합니다. 로컬A에서 최신의 업데이트 상황을 가져와서 이어서 작업하고 싶으면 어떻게 할까요?pull 명령어를 사용해서 가져올 수 있습니다. 로컬A의 위치에서 (master 브랜치일 경우)$ git pull 하면 원격 저장소에 공유되어있는 최신 상태로 반영됩니다. 이렇게 f4.txt 가 바뀌어 추가되었다고 메세지가 찍힙니다. 그러면 받은 내용을 가지고 원격A는 또 작업하고 push해서 원격에 반영시키고원격B는 작업 전에 pull해서 최신 상태로 만들고 또 push하고~ 이렇게 항상 ..
[Git/에러해결] git에서 강제로 push 하기 (error: failed to push some refs to) git에서 강제로 push 하기 $ git push -u origin master 를 써서 push를 시도하려고 했는데 에러에 봉착했습니다. branch를 병합하고 없애고 하는 과정에서 문제가 생겼는지 git에서 에러를 배출하며 push를 막았습니다..ㅠ 데이터가 유실될 수도 있지만 강제로 push 하는 방법으로 해결했습니다.$ git push -u origin +mastermater 앞에 +를 붙여주면 강제로 push할 수 있습니다. 참고 - https://www.hahwul.com/2016/02/coding-git-push-push-error-failed-to.html