본문 바로가기
반응형

git39

Git Bash - 특정 파일 하나만 되돌리기 (Revert One Specific File) Git / GitHub 전체 링크 특정 커밋으로 돌아갈 필요가 있을 때도 있지만, 특정 파일 하나만 원래대로 revert 하고 싶은 경우도 있다. (깃허브 데스크탑에서는 지원하지 않는다.) 아주 오래된 과거 커밋 : 8ebb3d56에서 TestScript3.cs만 원래대로 돌려보자. 이 당시에는 "2 submit → 3 submit" 으로 로그를 변경하였다. Git Bash로 이동한다. 특정 파일만 revert하는 경우는 revert 명령이 아니라 checkout 명령을 사용한다. git checkout [commit hash] [파일 경로]를 입력한다. $ git checkout 8ebb3d56 unity_github/Assets/Script/TestScript3.cs Updated 1 path fro.. 2022. 7. 30.
깃허브 데스크탑 - Revert와 Reset으로 과거 커밋으로 되돌아가기 (+ Git Bash) Git / GitHub 전체 링크 Revert는 commit된 파일을 취소하고, 기록을 남긴다. Reset은 해당 commit의 위치로 이동하고 기록도 날린다. 두 명령어를 이용해 과거 commit으로 돌아가보자. Revert GitHub Desktop에서는 History 탭에서 특정 커밋을 Revert하는 것만 가능하다. 정상적으로 revert 된다면(충돌이 없다면) Push origin으로 반영한다. 해당 코드의 변경 사항을 보고 싶다면 Revert "main commit test"에서 commit을 취소하면(Undo commit...) 된다. 최신 commit 2개를 revert하면 아래와 같이 History에 2개의 로그가 남게 된다. 만약 차례대로 revert 하지 않으면 아래와 같이 confl.. 2022. 7. 30.
깃허브 데스크탑 - 커맨드 창을 Git Bash로 변경하기 (Change Command Prompt to Git Bash) Git / GitHub 전체 링크 깃헙 데스크탑은 Git의 모든 명령을 제공하지 않는다. 따라서 가끔 Command Prompt나 Git Bash로 넘어가서 직접 명령어를 입력해야 하는 경우가 있다. (ex. 깃허브 데스크탑에서 일부 파일만 스테이시로 감추기) [Repositoroy] → [Open in Command Prompt]에서 깃 명령을 사용할 수 있다. 하지만 Command Prompt는 기본 기능만 지원하기 때문에 불편하다. Git Bash가 나오도록 변경해보자. [File] → [Options...]로 이동하자. [Integrations] → [Shell]에서 Git Bash를 선택한다. [Repositoroy] → [Open in Command Prompt]가 [Open in Git Ba.. 2022. 7. 29.
Git Bash - 일부 파일만 스테이시로 감추기 (Git Stash Some Specific File) Git / GitHub 전체 링크 참고 - 일부 파일만 스테이시로 감추기 (깃허브 데스크탑) git stash / git stash save 현재 수정 중인 모든 파일을 감춘다. git stash list stash된 목록을 본다. git stash pop 가장 최근에 stash된 파일을 원상 복구한다. git stash apply 가장 최근에 stash된 파일을 원상 복구하지만 list에는 남겨둔다. git stash drop 가장 최근에 stash된 파일을 원상 복구하지 않고 삭제한다. git stash clear 모든 stash list를 삭제한다. git stash push 현재 수정 중인 파일 중 일부 파일만 감춘다. 스태쉬(스테이시) 명령 동작을 확인하기 위해 Git Bash에서 파일을 적절히.. 2022. 7. 28.
깃허브 데스크탑 - 일부 파일만 스테이시로 감추기 (Git Stash Some Specific Files) Git / GitHub 전체 링크 참고 - 일부 파일만 스테이시로 감추기 (Git Bash) 스테이시(스태쉬)는 아래의 뜻이 있다. stash[stæʃ] 1.(안전한 곳에) 넣어 두다[숨기다] 즉 작성한 코드를 잠시 보관할 수 있다. 깃헙 데스크탑에도 stash 기능을 사용할 수 있다. 먼저 branch1에서 아래와 같이 파일을 수정하였다고 가정하자. 5 changed files가 적힌 탭에서 마우스 오른쪽 버튼을 누르면 Stash all changes를 선택할 수 있다. 위의 그림에서 TestScript1, 2만 선택하였다. 특정 파일만 선택하였어도 해당 파일만 stash를 할 수는 없다. View stash 또는 Stashed Changed를 눌러보자. 모든 파일이 Stash 된 것을 알 수 있다. .. 2022. 7. 28.
Git Bash - SSH 키 삭제, 생성, 등록 Git / GitHub 전체 링크 ssh-keygen 명령어로 SSH 키를 생성할 수 있다. 하지만 과거에 만든 적이 있다면 id_rsa already exists. 경고가 나타난다. $ ssh-keygen Generating public/private rsa key pair. Enter file in which to save the key (/c/Users/bloodstarwberry/.ssh/id_rsa): /c/Users/bloodstarwberry/.ssh/id_rsa already exists. Overwrite (y/n)? overwrite도 가능하지만 SSH 키를 삭제해도 된다. 방법은 Git Bash에서 홈 탭에 있는 .ssh 폴더를 삭제하면 된다. @ MINGW64 ~ $ rm -rf ... 2022. 7. 15.
Git Bash - Window에서 경로 Aliasing 설정하기 Git / GitHub 전체 링크 Git Bash를 이용하다보면 경로를 이동하기가 불편하다. 주 작업 경로를 mh(my home)로 alias하여 편하게 이동해보자. 현재 Git Bash에서 mh를 입력하면 해당하는 명령어를 찾을 수 없다고 한다. 경로를 등록하기 위해 아래의 폴더로 이동하자. 사용자 환경에 따라 폴더 경로가 다를 수 있다. Git 폴더의 아래로 가면 된다. C:\Program Files\Git\etc 그리고 bash.bashrc를 열어서 마지막 아래에 다음 문구를 추가한다. . /etc/profile.d/aliases.sh 정상적으로 입력한 모습은 아래와 같다. 다음은 etc 폴더 아래인 profile.d로 들어가자. C:\Program Files\Git\etc\profile.d ali.. 2022. 7. 9.
깃허브 데스크탑 - Cherry Picking으로 다른 브랜치 코드 가져오기 (Shelve) Git / GitHub 전체 링크 흔히 Perforce(P4)에서 다른 사람이 임시로 작업한 코드를 들고오는 "Shelve" 기능을 깃헙에서도 사용해보자. 먼저 unity_github 프로젝트를 다른 경로에 2개 클론한다. (각각 main A / main B라고 하자.) GitHub Desktop에도 두 개의 main이 존재해야 한다. 이름이 같기 때문에 어떤 것이 main A / main B 인지 헷갈린다면 Show in Explorer로 확인하면 된다. 이제 main A에서 cherry-picking-A 브랜치를 만들자. 그리고 바로 Publish를 한다. 이제 cherry-picking-A에서 파일을 수정해서 commit 하자. TestScript1.cs 에 cherryPicking A 라는 문구를.. 2022. 7. 6.
깃허브 데스크탑 - Beyond Compare처럼 코드 비교하기 (Diff Display Unified -> Split) Git / GitHub 전체 링크 GitHub Desktop에서 코드 수정사항을 보면 아래와 같이 변경사항이 나온다. Beyond Compare와 같은 툴을 이용하면 양 옆으로 쉽게 비교가 가능하다. GitHub Desktop에서는 환경 설정 버튼을 눌러 Diff display를 Unified → Split으로 변경하면 된다. Beyond Compare와 똑같이 양 옆으로 편하게 코드를 비교할 수 있다. 마찬가지로 깃헙에서도 Split을 선택할 수 있다. Split을 반영하면 아래와 같이 보인다. 2022. 7. 5.
반응형