라벨이 Git인 게시물 표시

[Git] git add, commit, push 취소하기

git add 취소하기 파일 상태를 Staged => Unstage로 변경하기 $ git reset HEAD <file>  명령어를 통해 git add를 취소할 수 있다. 뒤에 파일명을 작성하지 않으면 add한 파일 전체를 취소한다. untracked 파일 삭제하기 git clean 명령은 추적 중이지 않은 파일만 지우는 명령어이다. 즉, .gitignore 에 작성한 무시되는 파일은 지우지 않는다. 디렉터리를 제외한 파일들만 삭제 $ git clean -f  디렉터리까지 삭제 $ git clean -f -d ignored 된 파일까지 삭제 $ git clean -f -d -x git commit 취소하기 commit을 취소하고 해당 파일들은 staged 상태로 워킹 디렉터리에 보존 $ git reset --soft HEAD^ commit을 취소하고 해당 파일들은 unstaged 상태로 워킹 디렉터리에 보존 $ git reset --mixed HEAD^ // 기본 옵션 $ git reset HEAD^ // 위와 동일 $ git reset HEAD~2 // 마지막 2개의 commit을 취소 commit을 취소하고 해당 파일들은 unstaged 상태로 워킹 디렉터리에서 삭제 $ git reset --hard HEAD^ commit message 변경하기 $ git commit --amend git push 취소하기 * 주의할점 이 명령을 사용하면 자신의 local의 내용을 remote에 강제로 덮어쓰기를 하는 것이기 때문에 주의해야 한다. 되돌아간 commit 이후의 모든 commit 정보가 사라지기 때문에 주의해야 한다. 특히, 협업 프로젝트에서는 동기화 문제가 발생할 수 있으므로 팀원과 상의 후 진행하는 것이 좋다. 가장 최근의 commit을 취소한다. (기본 옵션: --mixed) $ git reset HEAD^ Reflog 목록 확인 (브랜치와 HEAD가 지난 몇 달 동안에 가리켰었던 커밋) $ git reflog 또는 $ git log -

[Git] Commit Author 변경하기

이미지
  문제 캡쳐 사진 현재 맥을 사용하고있는데 big sur가 아직 오류가 많은듯 싶어서 big sur로 업그레이드는 하기싫고, 현재 카탈리나 최종 업데이트 버전으로 업데이트 하고싶었는데 버전을 선택해서 업데이트할 수는 없었다.  찾아보니 최종버전으로 업데이트 가능한 방법이 노트북 초기화뿐이였다. 초기화를하면 처음에 구매했을때 설치되어있던 OS의 최종 버전으로 설치가 된다. 그리고 노트북을 구매하고 코딩 공부하면서 이것저것 막 설치해보고 설정도 바꿔보고 했었다. 특히 국비학원다니면서 프로그램을 이것저것 많이 깔았었는데 현재는 사용하지 않아서 지운다고 지웠지만 깔끔하게 지워진것같지 않았다. 그래서 초기화를 했는데 ... 초기화 후 설정을 잘 마치고 난 뒤 코드 작성 후 commit 한다고 했는데 나중에 확인해보니 한글 내 본명으로 commit이 되고 있었다. 한글 본명이 노출된다는 점도 문제였고, commit 하여도 github 잔디밭에 잔디가 심어지지 않는 문제점이 발생했다. 해당 문제를 해결하기 위해서 한국 블로그들도 참고해봤는데 조금 햇갈릴만하게 적은 부분들이있었는데 stakoverflow가 설명이 제일 간결하면서도 좋았다. 해결 방법 순서 1. 일단 github에서 commit 내역을 확인하거나, 해당 프로젝트를 git clone 한 뒤 $ git log 를 찍어보면 로그내역이 출력된다. 2. 수정하고자 하는 commit 내역의 바로 이전의 hash코드를 복사한 뒤 아래 처럼 입력 $ git rebase -i <<hash 코드>> 또는  수정하려는 commit 이전의 hash코드 말고 수정하고자 하는 commit의 hash코드 값에 ^ 기호를 붙이기 $ git rebase -i <<hash 코드^>> ^ 특수 기호를 작성하면 해당 commit 이 바로 선택된다. 특수 문자 없이 작성할 경우에는 이전의 hash 코드 값을 작성해야지만 수정하고자하는 commit 내역이 선택된다. 3. 위에 코드를 입력하면 아래의 사

[Git] push 실패 fatal: refusing to merge unrelated histories 오류 해결

[Github] 깃허브 error: failed to push some refs to~, Updates were rejected because the remote contains work that you do not have locally. 에러 해결 방법

이미지
깃허브에 로컬 프로젝트를 push하려고 했는데 아래와 같은 오류가 발생했다.

[Git] Git Remote Repository 변경

Git에서 Remote Repository 주소를 다른 주소로 변경하고자 한다. 현재 Remote Repository 주소를 확인하기 위해서는 아래 명령어를 터미널에 입력한다. $ git remote -v  입력하면 나오는 URL 주소가 현재 Remote Repository의 주소이다. 이제 원하는 주소로 변경하려면 아래 명령어를 입력한다. $ git remote set-url origin <<새로운 git URL 주소>>  입력한 뒤 제대로 변경됐는지 확인하기 위해서 아래 명령어를 한번 더 입력한다. $ git remote -v  변경된 주소 확인하기 Git Remote Repository 변경 완료!

[Git] 원격 저장소 재연결 (연결 끊고 다시 연결하기)

이미지
원격 저장소 재연결 (연결 끊고 다시 연결하기) 깃(git) 사용시 현재 로컬 저장소와 연결되어있는 원격 저장소인 github의  repository와의 연결을 끊고 다시 연결하는 방법을 보자. 현재 연결되어있는 원격 repository를 확인한다. $ git remote -v  연결된 주소를 삭제  $ git remote remove <name> $ git remote -v  명령어로 연결된 원격 repository가 있는지 다시 확인해본다. 지워진것을 확인할 수 있다.  다시 연결하고싶은 원격 저장소와 연결하면 된다.

[Git] Git 명령어 와 git flow

이미지
Git의 목적 : 버전관리, 백업, 협업 Git을 통해 버전을 관리하고 그 버전을 원격 저장소인 GitHub에 백업하고 이를가지고 팀원들과 같이 협업한다. git flow $ git init 명령어로 해당 폴더를 git으로 관리할 수 있도록 초기화 할 수 있다. 기능별로 또는 사람별로 또는 특정한 기준에 따라 각각의 branch를 생성한다. 각각의 branch별로 개발을 진행하다가 리뷰하는 시기를 정해서 master 또는 main branch로 병합을한다. 무조건 master 또는 main  branch에서 할 필요는 없으며 특정 branch를 병합 branch로 정해서 병합한다.  상황에 따라 다르지만 branch 병합시 많은 conflict가 발생하는데 이러한 오류들을 다 처리한뒤 문제없는 코드들을 master branch로 옮긴다. master branch는 최종적으로 배포될때만 건들이도록 한다. 병합하고 배포를 끝내고나면 master branch에서 병합된 작업 결과물을 각각의 branch에 동일할 수 있도록 동기화해야하므로 각 branch에서 $ git pull 하여 동일한 코드로 다시 작업을 이어갈 수 있도록 한다. 이렇게 작업하던중 급한 버그가 발생하면 급한버그를 처리할 브랜치(hot fix)를 하나 생성한다. 급한 버그를 처리해서 바로 마스터 브랜치에 적용시킨다. 이때도 수정된 작업물을 모든 각각의 브랜치에 동일하게 적용시키고 작업을 이어나간다. 동일한 작업환경에서 작업을해야 오류발생 확률을 줄일 수 있다. hot fix의 경우 한번 사용되고 버려지므로 예외적으로 적용시키지 않아도 된다. 즉 마스터 브랜치를 모든 브랜치가 예의주시하고 있어야 한다. 위에 설명을 키노트로 직접 그려봤다.   👨‍💻  git 명령어  git 명령어 help 작성한 명령어에 대한 도움말을 확인할 수 있다. 어떻게 사용해야하는지 등등 git init 해당 폴더를 git이 관리할 수 있는 환경으로 초기화 git status git이 관리할 수 있는 파일 목록 확인