git bash로 파일을 넣는데 실수로 venv파일까지 전부 add 해버렸다...!!
하... 또 답도 없는 짓 해 버림
그치만 지지않죠? 해결 방법이 당연히 있음!!
$ git reset --hard
하지만 이 명령어의 경우 돌아간 commit
이후로 일어난 모든 것들을 날려버리는 방법이기 때문에 로컬 폴더에 있는 파일까지 삭제해버린다...ㅠㅠㅠ 즉, 파일이 다.. 날라간다....
..내가.. 따로 코드를 백업 안해놨으면 걍 꼼짝없이 날라간거임...
...백업하려다가 파일 날리면 슬프겠죠?
한 줄 요약 : 걍 쓰지마
걍 로컬 탐색기에서 .git
폴더를 삭제하고 처음부터 다시 init
하는게 초기 문제 발생시의 가장 깔끔한 처리법인듯.
지금처럼 폴더 내에 venv와 코드 파일 하나만 있다면 뭐 파일 하나만 add해도 ok지만,
만약 파일이 너무 많아서 git add .
를 사용하되 특정 폴더/파일을 제외하고 싶다면?
그 때 사용하는 게 .gitignore
다.
사용방법은 간단하다.
파일명이 .gitignore
인 txt
파일을 생성해준다.
-> .gitignore
인 txt
파일이 아니라 그냥 확장자가 gitignore
인거다!! 이거 때문에 몇번이고 고군분투함... ㅠㅠ
나의 경우 vscode에서 만들고 작성했다.
.gitignore
파일 안에 제외할 파일/폴더에 대해 한 줄씩 작성하면 된다.
# venv 하위의 파일 전부 제외
venv/
# a.txt 제외
a.txt
# txt 확장자의 파일 전부 제외
*.txt
# a.txt는 예외 (제외 x)
!a.txt
.gitignore.io 라는 곳에 접속하면 알아서 제외해야 할 파일같은 걸 만들어준다.
내가 사용하는 언어는 python이고, 제외하고 싶은 폴더는 가상환경(venv)이므로 두갤 검색해서 gitignore 파일을 만들어준다.
완성 된 내용 은 이것!
그대로 .gitignore
에 붙여준다!
그 다음 push를 해주면...
# stage에 파일 전부 추가
$ git add .
# stage에 추가 된 파일 확인
$ git status
On branch master
No commits yet
Changes to be committed:
(use "git rm --cached <file>..." to unstage)
new file: .gitignore
new file: monster_game/moster_game.py
제대로 venv
가 제외된 채로 add
되었다!!
이대로 commit
만 해주면 제대로 폴더가 올라감.
gitignore를 잘만 사용하면 코드 몇 줄 쓰지 않고 쉽고 빠르게 github에 파일을 올릴 수 있을 것 같아 그게 강점인듯.
while 문에서 뒤에 코드를 거치지 않고 처음으로 돌리기 위해서는 continue를 써준다.
While True:
value = input("1 or 2를 입력해주세요 : ")
if value == 1:
print("hi")
elif value == 2:
print("hello")
else:
print("error")
continue
print("i'm happy")
True
>>> Run
1 or 2를 입력해주세요 : 3
error
1 or 2를 입력해주세요 : 2
hi
i'm happy
While True:
value = input("1 or 2를 입력해주세요 : ")
if value == 1:
print("hi")
elif value == 2:
print("hello")
else:
print("error")
print("i'm happy")
True
>>> Run
1 or 2를 입력해주세요 : 3
error
i'm happy
즉, continue를 써주면 While문 끝까지 가지않고 앞으로 돌려준다는거다!!
continue를 잘 쓰면 코드를 좀 더 깔끔하게 쓸 수 있을 것 같다.