2023-03-28 TIL

0v0baek·2023년 3월 28일
0

TIL

목록 보기
15/92

[Git] add 한 파일 삭제

문제 발생

git bash로 파일을 넣는데 실수로 venv파일까지 전부 add 해버렸다...!!

하... 또 답도 없는 짓 해 버림
그치만 지지않죠? 해결 방법이 당연히 있음!!

해결을 위해 고군분투

파일 전부 삭제하기

$ git reset --hard

하지만 이 명령어의 경우 돌아간 commit이후로 일어난 모든 것들을 날려버리는 방법이기 때문에 로컬 폴더에 있는 파일까지 삭제해버린다...ㅠㅠㅠ 즉, 파일이 다.. 날라간다....
..내가.. 따로 코드를 백업 안해놨으면 걍 꼼짝없이 날라간거임...
...백업하려다가 파일 날리면 슬프겠죠?

한 줄 요약 : 걍 쓰지마

대체법

걍 로컬 탐색기에서 .git 폴더를 삭제하고 처음부터 다시 init하는게 초기 문제 발생시의 가장 깔끔한 처리법인듯.

[git] .gitignore

지금처럼 폴더 내에 venv와 코드 파일 하나만 있다면 뭐 파일 하나만 add해도 ok지만,

만약 파일이 너무 많아서 git add . 를 사용하되 특정 폴더/파일을 제외하고 싶다면?

그 때 사용하는 게 .gitignore다.

적용 방법

사용방법은 간단하다.
파일명이 .gitignoretxt파일을 생성해준다.
-> .gitignoretxt파일이 아니라 그냥 확장자가 gitignore인거다!! 이거 때문에 몇번이고 고군분투함... ㅠㅠ

나의 경우 vscode에서 만들고 작성했다.

실전

.gitignore 파일 안에 제외할 파일/폴더에 대해 한 줄씩 작성하면 된다.

폴더 제외

# venv 하위의 파일 전부 제외
venv/

파일 제외

# a.txt 제외
a.txt

특정 확장자의 파일 전부 제외 / 예외

# txt 확장자의 파일 전부 제외
*.txt
# a.txt는 예외 (제외 x)
!a.txt

더 간단한 방법 : .gitignore.io

.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에 파일을 올릴 수 있을 것 같아 그게 강점인듯.

[Python] while문의 continue

while 문에서 뒤에 코드를 거치지 않고 처음으로 돌리기 위해서는 continue를 써준다.

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 

continue를 쓰지 않았을 때

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를 잘 쓰면 코드를 좀 더 깔끔하게 쓸 수 있을 것 같다.

profile
개발 공부 하는 비전공자 새내기. 꾸준히 합시다!

0개의 댓글