2020.10.11_git ignore 생성_정리노트
하하핳하하 ... 코드 놓아선 안된다... 흑흑 요즘 디자인에 늪에 빠져서 핑계지만..헣헣
오늘은 내가 이대로는 뭔가 언제 사라질지도 모르는 내 커뮤니티 프로젝트의 파일을 드디어 깃에 연결해서 올릴려고 했는데,
........? 이게뭐람 껄껄 미쳤어....
........6000개가 바뀌고 73만개는 또 뭐야...헣ㅎ허허허허 ........
알아보니 가상환경까지 다올라가서...이렇답니다 헣헣
그래서 오늘은 git ignore 파일 생성 해보게씀!!!!!!!!!!
레포지토리를 생성해줄때, ignore파일을 생성해주자고 체크를 안했다면, 깃에서 연결되어있던것을 초기화를 시키고
다시 해주어야한다.
먼저 저 레포지토리부터 초기화를..시켜주자 헣헣
rm -rf .git - 먼저 로컬에 내가 저장해뒀던 git 디렉토리 삭제해주기
그럼 이렇게 master 가 사라진 것을 볼 수가 있음! 이제 초기화해주자.
깃초기화는???!
git init - 깃 초기화 해주기
깃 레포지토리 처음 생성에서는 시작하기라고 했지만, 나중에 보니 정확히는 깃을 초기화해주는 명령어였음. 초기화해주고 처음 시작하는거니 그렇게 해석한듯!!
쨋든 이제 초기화는 시켰고, 우리는 ignore 파일을 생성시키고 다시 add, commit 해주면 됨!
이렇게 .gitignore 파일을 생성해주고, 꼭 최상위에 해주어야한다!!!!!
충돌이 나기 쉬운 데이터들과 가상환경을 넣어주었다.
이런 것들은 어디서 보느냐,
여기로 들어가서
python.gitignore 에 들어가게 되면,
이렇게 gitignore 형식이 뜬다. 헣헣 여기를 전부 복붙해도 되지만 나는 일단 gitignore을 실행시키는 것이 목적 그자체여서 일단 데이터들과 가상환경만 넣어주어씀.. 다음에 업뎃할때도 써봐야지...
이제.. gitignore 파일을 적용시켜서 해주면 되는데,
저기서 많은 일들이...있었다.....
먼저 이미 깃이 추적하고 있던 파일들을 수동으로 삭제를 해주어야한다고 구글링이 말해주고 있기 때문에,
git rm -r --cached .
이 명령어를 통해 파일의 추적 기록을 삭제해준다.
헣허ㅓ허허허 아무리 해도 안됨 .은 모든 파일이라는 뜻인데 특정 파일명 써도 안되더라..............
(+++++추가 파일명 뒤에 / 붙이니 되는 경우도 있었음 ! 일단 이거 해보기.. )
내가 오늘 너무 우당탕탕한다고 중간에 터미널 로그가 날라가버려서.......흑흑 쨋든 스택오버플로우 구글링 결과,
git rm은 더 이상 git에 의해 추적되지 않는다는 의미, 즉
이런 의미로 파일을 삭제하지만, 해당 파일에 해당하는 이전 커밋 객체 자체는 제거하지 않는다고 한다.
여기서 사용해줄 것이
git filter-branch
이 아이는 이전 커밋에서 해당 파일을 모두 제거 할 수 있어서 나같은 경우는 이 명령어를 실행해야 된다.
아마 내가 이해하기로는 내가 git ignore을 하지 않은 상태에서 레포지토리를 생성해주고, 가상환경까지 올라가서 맨 위의 상황이 나와서 레포지토리를 삭제하고 다시 만들어서 올렸는데, 이미 깃에서는 해당 파일들이 올라간 커밋이 남아 있기 때문에 그 커밋을 한 파일 자체를 지워줘야 하는데, git rm을 사용하면 단순히 untracked 의 형태로 파일 자체는 사라지지 않기 때문에 나같은 경우는 이 명령어를 실행해줘야하는 것 같다.
후 어렵지만 그냥 git rm 이 안될때는 이 명령어를 사용합씨다^)^
그래서 순서대로 명령어를 실행해봅씨다 ( 하 터미널에서 다 날라가서..ㅂㄷㅂㄷ.. 설명으로 적겠음.. )
git filter-branch --force --index-filter
/'git rm --cached --ignore-unmatch 파일명'
/ --prune-empty --tag-name-filter cat -- --all
이렇게 순차적으로 실행해주면 되는데,
git filter-branch --force --index-filter 요고를 복붙해서 사용해주면,
>라고 추가 입력창이 뜨게 될거임.
그러면 순차적으로 2번째, 3번째 줄 실행시켜주면 된다.
++ 추가 한번 더 했는데 잘 안되어서 허허 > 창 안뜨면 아래 명령어 ㄱㄱ
git filter-branch --force --index-filter \
'git rm --cached --ignore-unmatch 파일명' \
--prune-empty --tag-name-filter cat -- --all
여기서 \는 터미널에서 역슬래쉬라서 역슬래쉬 쓸 사람은 써도 됨.
오 ignore 잘 실행되면, 이렇게 옅은 회색으로 뜨게 되는데 잘 적용된 모습이다.
자!!!! 이제 진짜 add commit push 만 해주면 되는데,
does not have a commit checked out.
또 에러 뜸 허헣ㅎ허허
이거는 또 내실수.... 원래 git init을 최상위 폴더에 해주어야 하는데, 그러지 않고 하위 프로젝트에 다가 init을 한 다음에 또 나중에 최상위 폴더에 init을 하고 로컬 레포지토리를 재설정해버리면 이런 에러가 뜬다. 우당탕탕 오졌다...
어케 확인하냐,
이 명령어로 확인.
-al은 -a, -l 이 합쳐진 명령어로 하나하나 해보면,
ls -a
숨겨진 파일 보기
ls -l
리스트 보여주기라는 뭐 상세정보 보기라고 생각하면 될듯
요론식!
쨋든
둘을 합쳐서 숨겨진 파일의 리스트들을 살펴보니 , .git 이 역시 하위폴더에 들어있고 난리였음...
이렇게 하위 폴더에서 해줬던 git 을 삭제해주고, 다시 최상위에서도 지워준 후에 다시 init!!!!
후 이제 진짜 되지 않을까 ...
add 실행.
으아아아ㅏㅏㅏㅏㅏㅏㅏㅏㅏ 이게 뭐야
당황해서 바로 ctrl + c 에서 닫아버림ㅋㅋㅋㅋㅋㅋㅋ헣헣
경고가 너무 많이 뜨는 군
이거는 맥과 윈도우에서 OS 마다 줄바꿈을 바라보는 문자열이 달라서 git이 둘 중 어느쪽을 선택할지 몰라 경고 메세지를 띄운것이라고 하네여..껄껄
이렇게 플랫폼(OS)마다 줄바꿈을 바라보는 문자열이 다르기에
Git이 바라볼 땐 둘 중 어느 쪽을 선택할지 몰라 경고 메세지를 띄워준 것.
이럴때 해결 방법 구글링 총총...
윈도우 사용시
git config --global core.autocrlf true
리눅스나 맥 사용시
git config --global core.autocrlf true input
필요없다. 알아서 작업한다.
git config --global core.autocrlf false
요롷게 적용해주면 되고, 해당 프로젝트만 적용할 경우 --global 빼주면 된다하네여.
후..다행히 큰 문제는 아니었군,,,
나는 맥 프로유저지만 코딩을 윈도우에서 하고 있는 기이한 사람이므로 첫번째 선택해서 넣어주었음 허허
이제는 ...진짜 add 뿐이야
으아!!!!!! 잘된다
후...............성공 ㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠ 와 드디어 성공쓰.. 험난했다..
이제 진짜 성공한걸까
어림도 없지
.
.
.
.
.
깃으로 들어갔더니 쎄하다 뭐지 왜 나는 브랜치가 하나밖에 없는데 풀리퀘가 왜 형성이 된 것이야
뭐여 브랜치 왜 두개지 젠장 ...... 운다
깃 디폴트 브랜치 수정 방법으로 간다........
settings >> Branches >> 브랜치 변경 >> Update
경고 메세지가 뜨게 되고 이해했다고 바꾸겠다!!! 이 버튼을 눌러주면
짝짝 바뀌게 되고,
이렇게 메인에 잘뜨게 된다 짝짝 혼자 만들거라 따로 브랜치 필요 없으니 마지막으로 브랜치를 지워주자.
git branch -d 브랜치이름
브랜치 삭제.
마지막으로 git branch 명령어를 통해 master 만 남은 것을 볼 수 있음 후...................
오늘은 우당탕탕 길고 길었던 git .... 넘모 어렵다 흑흑
거진 오만가지 깃에 대한 에러노트네 헣헣 오늘 포스팅 끝!
'git' 카테고리의 다른 글
2021.01.21 git fork vs clone (0) | 2021.01.21 |
---|---|
2020.10.14_Django Secret Key (0) | 2020.10.14 |
2020.09.26_git pull request (0) | 2020.09.26 |
2020.09.13_git_merge (0) | 2020.09.14 |
2020.08.29_git 레포지토리 생성 및_ 기초 (2) | 2020.08.30 |
댓글