- [ Git ][Git] 브랜치 전략 도입2024-10-03 18:24:321. 최초의 운영Git 브랜치 전략없이 master 하나로만 운영을 해왔다.시스템 운영자가 2~3명이였고, 하나의 화면을 동시에 수정하는 경우가 거의 없었기에 충돌이 자주 발생하지 않았다. 하지만 충돌이 발생하는 경우 overwrite 후 pull 작업이 잘 되지 않았고, reset 으로 강제 pull을 진행하곤 했다. 2. 개발환경 구성IT 보안진단을 통해 dev 환경을 구성하게 되면서, dev 브랜치를 구성하게 되었다. 하지만 dev를 거쳐 prd로 흘러가는 하나의 통로일 뿐, 개발에 대한 브랜치 전략을 세우지 않아 위에서 발생한 문제가 지속적으로 겪게 되었다. 3. 브랜치 전략 도입브랜치 전략에는 여러가지가 존재하지만, 먼 미래의 시스템 개발/운영의 분리를 위해 git-flow 전략을 도입한다. ..
- [ Git ][Git] An internal error occurred during: "Discard Changes". pull 에러2024-07-08 12:23:32git 사용중 충돌이 발생해 overwrite 를 해도 해결되지 않는다.replace with - HEAD Revision 을 통해 강제로 pull을 하려고 했는데,An internal error occurred during: "Discard Changes". 에러가 발생 ▶ 해결방법 1 : git stash 1) 현재 staging 영역의 파일의 변경사항을 스택에 넣는다.git stash 2) master에서 pull을 진행한다.git pull origin master 3) 변경 사항 적용후, 스택 제거한다.git stash pop
- [ Git ][Git] 수정사항도 없는데 이클립스 outgoing 모드에 파일 표시되는 경우2024-03-13 18:16:591. fsck로 해결아래와 같이 수많은 파일들이 수정사항이 없었고, 띄어쓰기나 끝라인 처리도 문제가 아니였다. 해당 프로젝트의 git bash로 접근해 git fsck 로 해결했다. git fsck 명령어는 Git 저장소의 객체의 연결성과 유효성을 검증하여 저장소의 무결성을 검사합니다. 2. fsck로도 해결되지 않는 경우 git fsck 를 실행하니 dangling blob가 표시된다.삭제를 위해git gc --prune=now 진행하면 아래와 같이 failed 메시지가 나오는데, 그냥 처리안해줘도 되는 것 같다. 다시 한번 git fsck 를 해주니 정리완료!! 2024.07.08해당 방법으로 처리가 안된다.아래 방법도 참고!!https://junibong.tistory.com/159
- [ Git ][Git] 소스 충돌로 인한 강제 pull 하기2023-02-15 17:38:37Git 소스 충돌로 인해 pull 이 되지 않는 경우 아래와 같이 2가지 방법으로 해결한다. 1. replace with HEAD Revision 먼저, compare with HEAD Revision 을 통해 HEAD와 로컬 소스의 차이점을 비교할 수 있습니다. 그리고 replace with HEAD Revision 을 통해 로컬 소스가 원격 저장소의 소스로 덮어쓰기 됩니다. 아래와 같이 OK 를 누르면 됩니다. 2. 강제 reset 후 pull 하기 1번의 방법으로 해결이 안되는 경우, 강제 reset으로 해결이 가능합니다. Reset으로 들어가 Reset type을 Hard 로 Reset 해주고 나서 다시 pull 을 해보면 정상 처리가 됩니다.
- [ Git ][Git] pull 과 fetch의 차이2022-07-27 11:14:261. git fetch란? 페치(fetch)는 원격 저장소의 커밋들을 로컬 저장소로 가져온다. 그리고 자동으로 병합(Merge)를 해주지 않기 때문에 본인이 직접 확인을 한 후에 병합(Merge)하는 과정을 거쳐야한다. 2. git pull이란? git pull이란 원격 저장소의 정보를 가져오면서 자동으로 로컬 브랜치에 병합(Merge)까지 수행해주는 명령어이다. 아래 그림을 보면 fetch를 실행하면, 최신 커밋 이력을 가져오고 이름없는 FETCH_HEAD 브랜치로 로컬에 가져오게 됩니다. 이 상태에서 'master'와 통합하고 싶은 경우, 'FETCH_HEAD' 브랜치를 병합하거나 다시 pull을 실행하면 됩니다.
- [ Git ][Git] 7.소스트리로 커밋 만들고 푸시하기2021-12-02 15:40:35소스트리를 통해 새로운 커밋을 한 번 해보겠습니다. 로컬저장소로 지정된 Programming 폴더에서 새로운 텍스트 파일을 만들겠습니다. 아래와 같이 [commit.txt] 파일을 만들었습니다. 그리고 소스트리에서 History 화면을 새로고침 해봅니다. 커밋하지 않은 변경사항이 보이고, 새로 만든 [commit.txt] 파일이 보이게 됩니다. 기존 [README.txt] 가 보이지 않는 이유는 수정사항이 없기 때문입니다. 이제, [commit.txt] 파일을 커밋해 보겠습니다. 파일 상태화면으로 가서, 파일 옆에 [+] 버튼을 누릅니다. 그러면 스테이지에 올라간 파일로 등록 됩니다. 커밋메시지를 입력하고, 커밋을 누릅니다. 커밋이 완료되면 '커밋할 내용 없음' 으로 보여집니다. 히스토리를 통해 커밋된 ..
- [ Git ][Git] 6.로컬저장소를 소스트리에 불러오기2021-12-02 14:42:02앞서 원격저장소를 소스트리에 연결시켰으니, 로컬저장소를 소스트리에 불러오겠습니다. 1. Local 에서 [Add] 버튼 클릭하기 Clone 원격저장소를 불러오고 로컬저장소도 자동 생성 Add 이미 만들어 놓은 로컬저장소를 불러오기 Create 새로운 로컬저장소 생성 (git init) 2. 기존 로컬저장소 선택 후 [추가] 버튼 클릭하기 3. History 확인하기 기존에 커밋했던 히스토리를 아래와 같이 확인 할 수 있습니다. 아래의 커밋정보들은 [.git] 이라는 폴더에 저장되어있기 때문에 확인이 가능합니다.
- [ Git ][Git] 5.소스트리를 이용해서 Git 사용하기2021-11-26 20:12:25앞서 글에서는 Git Bash 를 사용했기 때문에, 불편함이 있었다고 생각합니다. GUI 환경인 소스트리를 설치해서, 버튼을 클릭하는 방식으로 필요햔 명령을 실행할 수 있습니다. 1) 소스트리 다운로드 https://www.sourcetreeapp.com Sourcetree | Free Git GUI for Mac and Windows A Git GUI that offers a visual representation of your repositories. Sourcetree is a free Git client for Windows and Mac. www.sourcetreeapp.com 사이트 접속 후 다운로드를 누릅니다. 동의 후 다운로드 진행하시면 됩니다. 2) 소스트리 설치하기 구글 계정으로 소셜 ..