GitHub&Git 7

[Git][Error] LF will be replaced by CRLF in 해결

git add . git add 시 warning: LF will be replaced by CRLF in 파일명 에러가 뜰 수 있다. 이는 OS마다 줄바꿈을 바라보는 문자열이 다르기 때문에 Git 이 볼때 어떤 방식을 선택할지 몰라 경고를 내린 것 LF : Mac, Linux(Unix) 줄바꿈 문자열 = \n : 다음 줄 같은위치 CR : Mac 초기 줄바꿈 문자열 = \r : 같은 줄 맨앞 CRLF : Window, DOX 줄바꿈 문자열 = \r\n : 다음줄 맨앞 해결방법은 autoarlf를 사용해 바꿔주면 된다. 윈도우 즉 LF -> CRLF는 git config --global core.autocrlf true Linux, Mac 즉 CRLF -> LF는 git config --global co..

GitHub&Git 2022.10.02

[Git] Git Rebase로 Conflict 해결

협업을 진행하다보면 conflct가 당연히 발생합니다. PR을 밀어 넣었을 때 기존 코드와 내 코드가 비교되는 과정에서 다른 코드가 원본에 Merge되면 비교과정이 올바르지 않게 되기 때문에 conflict가 발생하는데 이는 3-way-merge 방법 또는 rebase를 이용해 해결이 가능하다. 3-way-merge : base + 내 branch + upstrem의 최신버전 rebase : 내 branch + rebase 한 내용 rebase는 말 그대로 re + base로 내가 머지하려는 브랜치가 갈라져 나온 branch의 base를 바꾸겠다는 것이다. 이 과정을 통해 내 코드는 새로이 만들어진 base와 코드 대사과정을 하게되므로 Merge하는데 문제가 없게된다. 원리는 내 branch가 지속적으로..

GitHub&Git 2022.10.02

[Git] Reset --soft, --mixed, --hard

자꾸 할때마다 헷깔려서 이번에 깔끔하게 정리.. reset --soft A A브랜치로 돌아가는데(repository 초기화) 기존에 add했던 코드들이 staged 된 상태로 그래도 넘어간다. 즉 reset으로 돌아가는 A버전과 내가 작업했던 작업물들을 합쳐 새로운 버전을 만들 필요가 있을 때 사용한다. reset --mixed A A브랜치로 돌아가는데 기존에 add했던 staging area가 추가로 reset된다. 즉 A로 돌아가면서 working directory만 유지되며 현재 작업물을 지우긴 싫고 이전버전에 이걸 add할지말지 결정해야 할 때, 단순 commit 실수를 했을 시 사용한다. reset --hard A A브랜치로 돌아가는데 repository, staging area, working..

GitHub&Git 2022.05.11

[GitHub] 깃헙 잔디 사라졌을 때 당황하지 않고 복구하는 방법.

1.잔디 옵션이 프라이빗으로 바뀌어있는지 확인한다. => public으로 바꾼다. 2. 깃헙에 등록되어있는 메일이 바뀌어서 local git의 메일주소와 불일치 하게 되었는지 확인한다. => 깃 메일을 일치시키던가 깃헙에서 삭제한 메일을 다시 등록한다. 3. 특정레포의 강제푸시 혹은 merge로 commit기록이 전부 초기화 됐다!! 이러면 정말 눈물나지만 해결 방법이 있다. github api를 이용해 과거로 회귀하는것. 1. Access Token을 발급받는다. https://github.com/settings/tokens 에 가서 토큰 생성을 누르고 repo전체 선택 후 발급 받는다. 2. 강제 푸시 전 혹은 레포가 정상일 적 마지막 커밋 SHA값을 확인한다. curl -H "Authorizatio..

GitHub&Git 2021.07.25

[Github] fork 사용하기(다른 사람의 repository를 내려받기)

1. 내 github에 추가할 상대 repository를 fork해오기(오른쪽 위에 포크모양 클릭) 2.fork해서 만들어진 내 github의 repository url을 복사 후 받아오기 (clone URL) 3. 원격 저장소 내 내부 저장소로 받아오기. git clone [Clone URL] 4. pull request작업 수행할 branch 생성 git checkout -b [branchName] 5. 원본 저장소를 원격 저장소에 추가. git remote add origin(branchname) [Clone URL] 6. 코드 수정 및 파일 추가 7. 수정사항을 add git add [fileName] 8.add 한 파일들을 commit git commit -sm "[commit mesagge]"..

GitHub&Git 2021.07.14