programing

커밋을 위해 준비되지 않은 github 변경 사항

sourcetip 2021. 1. 16. 11:16
반응형

커밋을 위해 준비되지 않은 github 변경 사항


readme, 디렉토리 및 html 파일이있는 다른 디렉토리가있는 매우 기본적인 github 설정이 있습니다. github에서는 readme와 첫 번째 폴더 만 볼 수 있지만 그 내용은 볼 수 없으며이 메시지가 나타납니다.

tc349 ryntc3$ git add *
tc349 ryntc3$ 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)
(commit or discard the untracked or modified content in submodules) 

modified:   week1 (modified content)

no changes added to commit (use "git add" and/or "git commit -a")

나는 그것이 문제가되지 않아야 할 모든 것을 무대에 추가하고 있다고 느낍니다. 도움이 필요하세요?


week1서브 모듈은?

git status명령 출력에서 관련 부분을 확인합니다 .

(서브 모듈에서 추적되지 않거나 수정 된 콘텐츠를 커밋하거나 폐기)

시도 cd week1하고 다른 발행 git status당신이에 수행 한 변경 사항을 확인하려면 week1서브 모듈.

Git에서 하위 모듈이 작동하는 방법에 대한 자세한 내용은 http://git-scm.com/book/en/Git-Tools-Submodules참조하십시오 .


시도해 보셨습니까

git add .

이것은 하위 디렉토리로 반복되지만 *는 그렇지 않다고 생각합니다.

여기를 참조 하십시오


week1 폴더 에 들어가서 .git 폴더를 삭제 해야한다고 생각 합니다.

sudo rm -Rf .git

그런 다음 최상위 폴더로 돌아가서 다음을 수행하십시오.

git add .

그런 다음 커밋을 수행하고 코드를 푸시하십시오.


제 경우에는

 git add files
 git commit -am 'what I changed'
 git push

커밋의 'a'가 필요했습니다.


제 상황에는 디렉토리가있는 하위 디렉토리가있었습니다 .git.

내가하는 일은 단순히 .git내 하위 디렉토리에서 해당 디렉토리를 제거하는 것 입니다.


나는 같은 문제를 겪고 있었다. 나는 "커밋을 위해 준비되지 않은"서브 디렉토리로 가서 거기에서 추가, 커밋 및 푸시를 끝냈다. 그 후 마스터 디렉토리로 한 단계 올라 갔고 올바르게 푸시 할 수있었습니다.


나는 내가 무엇을하더라도 같은 메시지를 계속 받았다.

이 문제를 해결하기 위해 .gitignore를 제거했고 더 이상 커밋 메시지를 위해 준비되지 않은 Github 변경 사항을 얻지 못했습니다. 내가 git add를 실행할 때 한 번 커밋하도록 허용하기 전에. 그런 다음 동일한 메시지가 나타납니다.

.gitignore 파일이 문제를 일으키는 이유를 잘 모르겠지만 로컬 컴퓨터에 추가했고 제대로 동기화하지 않았을 가능성이 큽니다.


나를 .git위해 부모와 하위 폴더 모두에 푸시 할 원격이 있기 때문에 그 안에 있는 하위 디렉터리를 커밋 해야했습니다. 그런 다음 상위 디렉터리를 커밋하고 푸시합니다.


전체 Stackoverflow에서 제안 된 모든 것을 시도했습니다. -a 또는 -am 또는 아무것도 도움이되지 않았습니다.

당신이 동일하다면 이것을하십시오.

따라서 문제는 git이 하위 디렉토리 중 일부가 루트 프로젝트의 하위 프로젝트라고 생각한다는 것입니다. 적어도 제 경우에는 그렇지 않았습니다. 그냥 일반 하위 디렉토리였습니다. 개별 프로젝트가 아닙니다.

임시 위치로 푸시되지 않는 일반 하위 디렉토리를 이동하십시오.

해당 디렉토리에서 숨겨진 .git 폴더를 제거하십시오.

cd 루트 디렉토리에.

git init 다시.

git add . 다시.

git commit -m "removed notPushableDirectory temporarily"

git push -f origin master

git이 원격 git과 로컬 구조 사이의 충돌을 볼 수 있으므로 강제로 적용해야합니다. 우리가이 갈등을 만들었습니다. 따라서 강요에 대해 걱정하지 마십시오.

이제 하위 디렉토리를 루트 프로젝트 내부의 하위 모듈이나 하위 프로젝트가 아닌 하위 디렉토리로 푸시합니다.


이 명령은 문제를 해결할 수 있습니다.

자식 추가 -A

추적 할 모든 파일과 하위 디렉터리가 추가됩니다.

도움이되기를 바랍니다.


If it's a submodule you need to cd into it the use git add . && git commit -m 'Your message'

From there you can cd out and push to whichever branch you want.

ReferenceURL : https://stackoverflow.com/questions/10721624/github-changes-not-staged-for-commit

반응형