VCS/git (37) 썸네일형 리스트형 git 소스트리 실수로 삭제된 파일들 되돌리기 삭제를 했으면 commit할때 분명 떴을 것이다.가끔 merge를 급하게 하다가 내가 가진 파일을 없애는 경우가 있는데 상대와 나의 파일이 다를떄 놓치는 듯 하다 실수로 삭제한 파일들을 되돌려보자.checkout (커밋ID) - 파일명.확장자checkout (커밋ID) - 파일명 \ 공백이나 특수문자같은 것들 \ 파일명 .확장자 다시 스테이지에 추가 소스트리 브랜치 이동시 권한오류 Git error cannot stat ' ' : Permission denied 브랜치가 여러개 있다.교차 검증중 에러발생내 repo에 내 브랜치임을 감안하면 과한 permission 오류라 생각해 확인해봄 전 브랜치에서 사용중이던 파일들이 현 브랜치에 존재하지않고, 따라서 에러가 나있다.ide도 이상을 감지함 해당 ide를 끄고 다시 시도.해결. GitHub Pull Requests 코드리뷰 요청하는법 앞서 코드리뷰의 정의와 종류, 좋은 예시를 알아봤다.https://standout.tistory.com/1620 코드리뷰란?코드리뷰Code Review개발 과정에서 동료 개발자들이 작성한 코드를 검토하고 피드백을 주는 단계코드 품질향상, 버그 사전예방, 코드 일관성을 유지하는 데 큰 역할. 효과적인 코드리뷰리뷰할standout.tistory.comhttps://standout.tistory.com/1621 코드리뷰 Tool 도구 종류: GitHub Pull Requests, GitLab Merge Requests, Crucible, Phabricator, Review Board, Codacy, Sonar앞서 코드리뷰에 대해 정리해봤다.https://standout.tistory.com/1620 코드리뷰.. 본인 Repository로 Clone하기 + token발급 원하는 레퍼지토리에서HTTPS CODE를 복사한다. 본인계정으로 들어와 repository - new - import a repository 복사한 https url 붙여넣기 - 이름지정 - Public/Private지정 - Begin import 이때 토큰을 입력하라고 뜬다. 토큰이 없다면 아래 게시물을 참고하여 발급하고 토큰이름, 토큰붙여넣기 - submit * 권한은 repository로 충분하다. https://standout.tistory.com/585 깃 Token 토큰발급하기 깃 - 설정- 관리자설정 토큰생성 - 이름입력 repo, adminb:repo_hook 선택 - Generate token 완료, 복사하여 잘 메모. 분실시 재발급받아야한다. standout.tistory.com 완료시.. git 저장소에 Collaborators 사람추가 새 레퍼지토리만들기 생성한 레퍼지토리 - 설정 - Collaborators - 추가 - 이메일입력 - 추가 완료 소스트리 체리픽, 특정 커밋 파일만 받다 원하는 커밋 - 우클릭 - 체리픽 자동커밋을 원하지않을경우 체크를 해제한다. 확인 해당파일만 받아온것을 확인 할 수 있다. 기존 브랜치 main/master 추가하기 clone받을때 특정브랜치로 추가했지만 추후 기본 main/master 브랜치의 히스토리를 확인해야할 때가 있다. 원격 - origin - main 완료 git 소스트리 브랜치 충돌 해결하기 충돌이 발생하면 소스트리는 임의로 막 저장하지않고, 병합시 이 둘중 하나를 선택해 달라고 한다. 현재 같은 파일을 각각 수정한 상태, 병합을 시도해보자. 충돌이 나면 foo라는 사람이 수정한 버전이 아닌 master브랜치에서 수정된 버전을 선택해 충돌을 해결하고 싶은 상태라고 가정하자. 병합 - 확인 - 충돌안내 - 닫기 스테이지 - 충돌해결 - '내것' '저장소(master)것'선택 사용하여 해결 - 확인 완료 foo의 수정사항이 보이지않고 master의 버전으로 병합이 완료된것을 확인할 수 있다. git 소스트리 브랜치 재배치하기 현재 커밋2에서부터 master와foo가 각각 커밋을 진행했다. foo가 제일 상단으로 브랜치를 옮기고 싶어한다고 가정하자. 궁금한점이 foo가 수정한 파일이 삭제되지는않느냐 일텐데, 결론부터 말하면 foo가 수정한 파일은 삭제되지않는다. 직접 확인해보자. foo브랜치 선택 - 원하는 커밋영역 - 마우스오른쪽 - 재배치 - 확인 병합충돌이 있을 수있다. - 닫기 - 확인 - 재배치완료 확인 foo의 가지치기가 최상단으로 옮겨진것을 확인 할 수 있다. 기존 master의 커밋상태에서 master의 수정내용을 삭제하고 foo의 수정을 추가했다. 즉 foo의 최종결과물을 같지만, 시작위치만 다르게 만들어준 것. 이어 master가 수정을 하면 그래프가 나누어지며 커밋들이 다시 쌓인다. github 브라우저에서 게시물 수정 수정버튼을 눌러 파일을 수정 커밋메시지를 작성 한후 커밋 상세정보 및 파일이름을 입력하면 히스토리를 볼 수 있다. 소스트리 git 브랜치와 브랜치병합 (feat. head과 checkout, fastforward merge) 버전을 여러 흐름으로 나누어 관리하는것. 최초의 브랜치를 master(main)라 한다. head 현재 작업중인 브랜치의 최신커밋을 가르키는 일종의 표시 checkout 특정브랜치에서 작업할 수 있도록 작업환경을 바꾸는것 fastforward merge 변화가 없었던 브랜치가 마치 빨리 감기 하듯 업데이트되는 병합 기법을 빨리 감기 병합(fastforward merge)이라고 함 master로 커밋이 총 3번 이루어진 상태에서 브랜치를 추가해보자. 브랜치 - 정보입력 - 새브랜치생성 브랜치를 전환할때 작업스페이스가 달라지는것을 확인할 수 있다. 브랜치하나를 더 추가해보자 master브랜치인 상태에서 foo를 병합해보자 master브랜치선택 - foo브랜치에서 마우스오른쪽 - 현재브랜치로 foo 병합 - .. 소스트리 커밋 비교하기 간단히 커밋버전별 비교를 하고자한다면, 히스토리 리스트에서 각 버전을 선택해 확인할 수 있다. 이전 커밋된 영역을 수정한 경우, 붉은색으로 - 삭제됨 변경된내용(추가된내용)이 녹색으로 뜬다. 실제로 확인해보자. 두 파일을 선택 후 A.txt파일을 선택하면 변경된 내용(추가된 내용)이 녹색으로 뜨고있다. 이전 커밋된 영역을 수정한 경우, 붉은색으로 - 삭제됨 변경된내용(추가된내용)이 녹색으로 뜬다. 소스트리 스테이지 변경사항 폐기하기 변경사항 폐기하기 스테이지에 올라간 파일수정내역을 삭제해보자 스테이지 - 폐기 - 확인 +이전 수정내역이 없는 새로운 파일일 경우 '폐기'가 아닌 '제거'항목을 이용해서 삭제한다. 헷갈릴수있으나 소스트리는 알아서 파일에 따라 폐기/제거 메뉴가 활성화/비활성화되니 둘중 활성화된것을 누르도록 하자. https://standout.tistory.com/758 소스트리 커밋되돌리기 soft, mixed, hard 결론, 쓰다보면 보통 커밋되돌리기 - hard만 쓰게 된다. 으로 이해하고 아래 캡쳐본과 함께한 설명은 좀더 깊게 이해하고 싶은 경우에만 보도록 하자. 원하는 커밋선택 - 마우스오른쪽 - 커밋되돌리기 - hard체크 - 확인 원하는 커밋선택 - 마우스오른쪽 - 커밋되돌리기 현재 A.txt는 4번째 수정까지 완료되었다. 이것을 되돌린다면 아마 3번째 수정된 내용만 남을 것이다 확인해보자. 확인 4번째 수정내용을 삭제하고 3을 추가해 되돌린것을 히스토리와 해당 파일을 통해 확인 할 수 있다. + 추가테스트 여기서 궁금증이 생긴다 4번째 수정을했다가 3번째로 커밋을 되돌렸다. 그렇다면 한번더 되돌리면 어떻게될까? 4번째 수정이 생긴것을 확인할 수 있다. 커밋되돌리기는 파일으로 열어봤을때 자칫 커밋취소로 생각될.. 소스트리 스테이지 변경사항 제거하기 변경사항 제거하기 이전 수정내역이 없는 새로운 파일일 경우 '폐기'가 아닌 '제거'항목을 이용해서 삭제한다. 삭제확인 새로운 파일이 아닌 지금까지 계속해서 수정해오던 파일이라면 제거가 아닌 폐기한다. 헷갈릴수있으나 소스트리는 알아서 파일에 따라 폐기/제거 메뉴가 활성화/비활성화되니 둘중 활성화된것을 누르도록 하자. https://standout.tistory.com/766 소스트리 스테이지 변경사항 폐기하기 변경사항 폐기하기 스테이지에 올라간 파일수정내역을 삭제해보자 스테이지 - 폐기 - 확인 +이전 수정내역이 없는 새로운 파일일 경우 '폐기'가 아닌 '제거'항목을 이용해서 삭제한다. https://stand standout.tistory.com 깃 소스트리 Push 오류: Support for password authentication was removed on August 13, 2021. 아래와 같은 오류 remote: Support for password authentication was removed on August 13, 2021. 설정 - 원격 - 저장소경로선택 - 편집 - 발급받은 token을 https://와 github사이에 삽입 후 @추가 The requested URL returned error: 403, push에러 Member 로 추가된 구성원은 각 Repository 에 대해 clone, pull 만 가능하고 push 는 불가능하기 때문에 push가 가능하게 하려면 각 Repository 에 공동작업자로 추가해야 한다. 초대된 Repository에서 편집이 가능하다면 인증문제, 편집이 불가하다면 저장소를 개설하고 초대한 관리자에게 권한부여를 요청하자. ERROR: fatal: Could not read from remote repository. ERROR: fatal: Could not read from remote repository. 오류발생시 cmd 실행 - git config --global --add safe.directory '*' git config --global --add safe.directory '*' git error 128, detected dubious ownership 에러해결 git error 128 fatal: detected dubious ownership in repository at ... cmd 실행후 아래 명령어 실행 git config --global --add safe.directory * github 소스트리 설치/연결하기 아래의 단계는 github 계정을 만든 이후에 진행한다. 소스트리 다운 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 install - 건너뛰기 깃 로그인정보입력 - 로그인(로그인창 디자인은 달리 보일 수도 있다.) 등록완료 - 다음 git 선택 - 다음 계정확인 및 입력 ssh 키알림 - 아니오 실행 - Remote - 계정추가 호스팅서비스 - github선택 .. github 계정인증오류: marked as spam, Your account has been flagged You are marked as spam, and therefore cannot authorize a third party application. Your account has been flagged. 위 오류는 장기미접속으로 인한 계정 잠금상태라고 보면된다. 이 잠금상태로 진입한 순간, gitbash, sourcetree 모두 사용불가하다고 이해하면되니 굳이 시도하지말고 하루~7일이내로 해결될 문제이니 기다림에 대한 준비를 먼저 해보자. +급하다면 github 웹브라우저에서 수정할 수 있으나 한계가 있으니 어처피 계정잠금상태를 풀어야함 또한 인지하자. 원래절차는 아래 메일로 문의를 보내는 것이나, developer@githubsupport.com Hello, Mr. or Ms. I don’t under.. 소스트리 search, 작성자/메세지 검색하기 search 기능 커밋메세지, 파일변경사항, 작성자 깃 Token 토큰발급하기 깃 - 설정- 관리자설정 토큰생성 - 이름입력 repo, adminb:repo_hook 선택 - Generate token 완료, 복사하여 잘 메모. 분실시 재발급받아야한다. 소스트리 스테이지 파일 취소하기, 폐기 원복 초기화 원하는 파일선택 - 마우스오른쪽 - 폐기 - 확인 소스트리 저장소 이름바꾸기 로컬저장소 - 저장소 - 마우스오른쪽 - 이름변경 - 완료. 깃 hub Readme 서식 스타일시트 stylesheet 아래로 접속하여 원하는 코드를 복붙해 사용하면 된다. https://github.com/StandOut-0/test-repo/blob/main/README.md?plain=1 GitHub - StandOut-0/test-repo Contribute to StandOut-0/test-repo development by creating an account on GitHub. github.com 파일 구성은 텍스트, 들여쓰기, 리스트, 체크박스와 table 자주쓸법한 이모지와 화살표등을 모아봤다. git status 에러코드 128fatal: bad boolean config value 'false~' for core.autocrlf 인코딩 문제를 해결하려다 git 설정을 건드렸는지 에러가 뜨기 시작했다. 에러코드를 읽어보자. fatal: bad boolean config value 'false~' for core.autocrlf core.autocrlf의 값이 'false~' 로 잘못됬으니 false로 다시 변경해주어 해결했다. $ git config --global core.autocrlf false 소스트리 강제 push, push한 commit 되돌리기 우선 비활성화 되어 있는 강제 push 기능을 활성화한다. 도구 - 옵션 - git - 강제푸시가능 선택 원하는 commit으로 커밋초기화한다. 원하는 커밋 - 오른쪽마우스 - 커밋초기화 - hard pull이 떠도 무시 - push를 누른 후 , 강제푸시선택 - push 완료 깃 소스트리 커밋 메세지 수정/정정 커밋 - 마지막 커밋 정정 - 커밋 소스트리 로컬저장소, 삭제한 저장소 북마크 해제 더블클릭 - 북마크제거 이전 1 2 다음