programing

'git commit'이 변경사항을 저장하지 않는 이유는 무엇입니까?

padding 2023. 7. 7. 18:40
반응형

'git commit'이 변경사항을 저장하지 않는 이유는 무엇입니까?

나는 했습니다.git commit -m "message"다음과 같이:

> git commit -m "save arezzo files"
# On branch master
# Changes not staged for commit:
#   (use "git add <file>..." to update what will be committed)
#   (use "git checkout -- <file>..." to discard changes in working directory)
#
#       modified:   arezzo.txt
#       modified:   arezzo.jsp
#
no changes added to commit (use "git add" and/or "git commit -a")

하지만 나중에, 내가 할 때git status동일한 수정된 파일이 표시됩니다.

> git status
# On branch master
# Changes not staged for commit:
#   (use "git add <file>..." to update what will be committed)
#   (use "git checkout -- <file>..." to discard changes in working directory)
#
#       modified:   arezzo.txt
#       modified:   arezzo.jsp
#
no changes added to commit (use "git add" and/or "git commit -a")

내가 뭘 잘못하고 있는 거지?

메시지에 표시된 대로:

커밋에 추가된 변경 사항 없음("git add" 및/또는 "git commit -a" 사용)

Git에는 커밋되기 전에 파일을 추가해야 하는 "스테이지 영역"이 있습니다. 여기에서 설명을 읽을있습니다.


구체적인 예로 다음을 사용할 수 있습니다.

git commit -am "save arezzo files"

(추가 사항 참고)a플래그에, 또한 다음과 같이 쓸 수 있습니다.git commit -a -m "message"둘 다 같은 일을 합니다.)

또는 커밋에 추가할 내용을 더 선택하려면 git add 명령을 사용하여 적절한 파일을 준비 영역에 추가하고, 추가할 내용을 미리 보기 위해 git 상태를 지정합니다(사용되는 문구에 주의하십시오).

Git 사용 방법에 대한 일반 설명서와 자습서도 Git 설명서 페이지에서 찾을 수 있습니다. 이 페이지에서는 파일 준비/추가 개념에 대해 자세히 설명합니다.


또 다른 유용한 정보는 대화형 스테이징입니다. 이를 통해 파일의 일부를 스테이징 영역에 추가할 수 있습니다. 따라서 서로 다른 기능에 대해 세 가지 코드를 변경한 경우 대화형 모드를 사용하여 변경 사항을 분할하고 각 부분을 차례로 추가/커밋할 수 있습니다.이와 같이 특정 커밋이 더 작으면 도움이 될 수 있습니다.

변경사항을 추가하지 않았습니다.다음을 통해 구체적으로 추가합니다.

git add filename1 filename2

또는 모든 변경사항 추가(프로젝트의 루트 경로에서)

git add .

또는 속기를 사용합니다.-a커밋하는 동안:

git commit -a -m "message".

다음 작업을 수행해야 합니다.

git commit . -m "save arezzo files"

Git 소스 제어 하에 있던 작은 하위 프로젝트를 다른 프로젝트에 복사하고 .git 폴더를 삭제하는 것을 잊었습니다.커밋할 때 위와 동일한 메시지가 표시되어 삭제할 때까지 지울 수 없습니다..git폴더를 누릅니다.

약간 바보 같지만, 커밋하지 않은 폴더 아래에 .git 폴더가 없는지 확인해 볼 가치가 있습니다.

당신은 할 수 있었습니다:

git add -u -n

수정한 파일과 추가할 파일을 확인하려면(드라이 실행: -n 옵션)

git add -u

수정된 파일만 추가하려면 다음과 같이 하십시오.

이러한 현상이 발생하는 이유는 Git에 의해 이미 추적되고 있는 폴더가 Git에 의해 추적되는 다른 폴더 안에 있기 때문입니다.예를 들어, 프로젝트가 있었는데 하위 폴더를 추가했습니다.둘 다 Git에 의해 추적되고 있었어요 하나를 다른 하나에 넣기 전에요안에 있는 것을 추적하지 않으려면, 그것을 찾아서 다음을 사용하여 Git 파일을 제거합니다.

rm -rf .git

저의 경우 워드프레스 애플리케이션이 있었고 그 안에 추가한 폴더는 테마였습니다.그래서 저는 테마 루트로 가서 Git 파일을 제거해야만 했습니다. 그래서 이제 전체 프로젝트가 워드프레스 애플리케이션에 의해 추적될 수 있게 되었습니다.

작업을 수행한 후 이 문제가 발생합니다.git add .아래의 하위 디렉터리에서 나의.gitignorefile lives(내 저장소의 홈 디렉토리).디렉토리를 가장 에 있는 디렉토리로 변경하고 실행해 보십시오.git add .에 뒤에git commit -m "my commit message".

당연한 일이겠지만...

인덱스에 문제가 있으면 git-gui를 사용합니다.인덱스(스테이지 영역)가 실제로 어떻게 작동하는지 매우 잘 볼 수 있습니다.

지수를 이해하는 데 도움이 된 또 다른 정보원은 스콧 채콘스 "Getting Git" 259페이지였습니다.

대부분의 문서에 나와 있는 것이 ...이기 때문에 명령줄을 사용하기 시작했습니다.

기트귀와 기트귀는 실제로 일을 더 빨리하게 해준다고 생각하고, "기트풀" 같은 나쁜 습관을 없앴습니다.지금은 항상 내가 먼저...병합하기 전에 새로운 변경 사항이 무엇인지 확인하십시오.

제 경우에 더 많은 파일이 있다면 프로젝트의 경로 폴더에서 추가하려고 할 때 7000개의 이미지 파일이 추가되지 않았지만 이미지 폴더로 이동하면 모든 것이 정상입니다.대상 폴더를 살펴보고 활처럼 명령합니다.

git add .
git commit -am "image uploading"
git push origin master

git push origin master 개체 열거: 6574, 완료되었습니다.개체 수: 100%(6574/6574), 완료.최대 4개의 스레드를 사용한 델타 압축 객체: 100%(6347/6347), 완료.쓰기 개체: 28%(1850/6569), 142.17 MiB | 414.00 KiB/s

제가 하고 있는 곳에 문제가 있었습니다.commit --amenda를 발행한 후에도git add .여전히 작동하지 않았습니다.알고보니 제가 만든 것이 있습니다..vimrc사용자 지정 및 편집기가 제대로 작동하지 않습니다.다음과 같이 오류를 수정합니다.vim문제를 해결한 올바른 코드를 반환합니다.

저는 같은 오류 메시지와 매우 유사한 문제가 있었습니다."변경사항이 커밋을 위해 준비되지 않았습니다"는 변경사항을 표시합니다.저는 마침내 얼마 전에 제가 디렉터리 케이스를 바꿨다는 것을 알게 되었습니다.ex. "PostgeSQL"에서 "postgresql"로 이동합니다.제가 지금 기억하는 바와 같이 Git은 때때로 오래된 케이스 디렉토리에 파일을 한두 개 남깁니다.그런 다음 새 버전을 새 케이스에 커밋합니다.

따라서 git은 어느 것에 의존해야 할지 모릅니다.그래서 그것을 해결하기 위해, 저는 github의 웹사이트를 방문해야만 했습니다.그러면 두 사례를 모두 볼 수 있습니다.그리고 잘못된 대소문자 디렉토리에 있는 모든 파일을 삭제해야 합니다.올바른 버전이 저장되어 있는지 또는 올바른 대소문자 디렉토리에 저장되어 있는지 확인합니다.

이전 사례 디렉토리의 모든 파일을 삭제하면 전체 디렉토리가 사라집니다.그런 다음 커밋을 수행합니다.

이 시점에서 로컬 컴퓨터에서 풀을 수행하여 충돌을 더 이상 볼 수 없습니다.따라서 다시 커밋할 수 있습니다.:)

폴더가 $ 해야 합니다.rm -rf .git하여 사용할 수 .git add -A.

모든 프로젝트에서 각 .git 파일 삭제

이 명령을 사용할 수 있습니다.

rm -rf .git

언급URL : https://stackoverflow.com/questions/7704480/why-does-git-commit-not-save-my-changes

반응형