programing

git add * (주기) 대 git add. (주기)

instargram 2023. 7. 11. 21:28
반응형

git add * (주기) 대 git add. (주기)

git에 파일을 추가하는 것에 대해 질문이 있습니다.다음의 차이점에 대한 여러 스택 오버플로 질문을 발견했습니다.git add .그리고.git add -a,git add --all,git add -A등등. 하지만 나는 무엇을 설명할 수 있는 장소를 찾을 수 없었습니다.git add *네. 저는 git add man 페이지를 보기도 했지만 도움이 되지 않았습니다.제가 대신 사용하고 있습니다.git add .동료가 이유를 물었어요저는 답이 없었습니다.항상 사용해 왔습니다.git add *.

이다git add .그리고.git add *똑같습니까?하나는 현재 디렉터리에서 변경된 파일만 추가하고 다른 하나는 현재 디렉터리 및 하위 디렉터리에서 (재귀적으로) 파일을 추가합니까?

다른 스택 질문 중 하나에 다음과 같은 차이점을 보여주는 훌륭한 차트가 나열되어 있습니다.git add -A git add .그리고.git add -u하지만 그것은 없습니다.git add *.

enter image description here

참고: 별표를 와일드카드(지정된 확장자를 가진 모든 파일 추가)로 사용하는 것이 무엇을 의미하는지 이해했습니다.예를들면,git add *.html다음을 포함하는 모든 파일을 추가합니다..html확장(단, 무시).css,.js등).

도와주셔서 감사합니다!

add *이름이 점으로 시작하는 파일을 제외하고 현재 디렉터리에 있는 모든 파일을 추가합니다.이것은 당신의 셸 기능이며 Git는 파일 목록만 수신합니다.

add .셸에 특별한 의미가 없으므로 Git는 이름이 점으로 시작하는 파일을 포함하여 거의 동일한 전체 디렉터리를 재귀적으로 추가합니다.

*git의 일부가 아닙니다. 이는 셸에 의해 해석되는 와일드카드입니다. *현재 디렉터리에 있는 모든 파일로 확장되며 git로 전달됩니다.add전부 다 .현재 디렉터리 자체입니다.git adding 그것은 그것과 그 아래의 모든 파일을 추가할 것입니다.

  • git add -A(--all) 디스크의 폴더에 있는 모든 항목이 준비 영역에 표시되도록 모든 항목을 추가합니다.

  • git add .모든 것을 준비하지만 디스크에서 삭제된 파일은 제거하지 않습니다.

  • git add *점으로 시작하는 파일이 아닌 모든 것을 준비하고 디스크에서 삭제된 파일을 제거하지 않습니다.

  • git add -u(--update) 수정된 파일만 스테이징하고 디스크에서 삭제된 파일은 제거하며 새 파일은 추가하지 않습니다.

  • git add <file name 1> <file name 2>특정 파일만 추가합니다.

명확한 설명을 위해 아래 표에 답을 기재했습니다.

enter image description here

추가 참고 사항(@reka18 코멘트에서 영감을 얻음):

11. git add -A그리고.git add -u추가 매개 변수 없이 수행되는 명령은 전체 작업 디렉터리의 범위에서(또한 디렉터리의 작업 하위 디렉터리에서 명령을 실행하는 경우) 추가적인 개선(파일 이름에 대한 하위 디렉터리 또는 마스크 표시) 작업입니다.

참고 2..그리고.*는 각각 디렉터리 경로(현재 디렉터리)와 와일드카드로, 명령의 경로를 명확히 합니다.예를 들어, 다음과 같은 경우git add .또는git add *명령은 작업 디렉토리의 일부 하위 디렉토리에서 실행되며, 작업은 전체 작업 디렉토리가 아닌 이 하위 디렉토리 내에서만 사용됩니다.

참고 3.git add -A그리고.git add -u파일에 대한 경로 또는 마스크를 추가하여 명령을 더욱 세분화할 수 있습니다. 예를 들어,git add -A app/controllers또는git add -u app\styles\*.

사용하기 ① ② 용.셸에서 일반적으로 "현재 디렉터리"를 의미합니다.

를 할 때*라고 불리는 특징이 껍데기 위에 있습니다.file-globbing: on bash 수glob()바로 그렇게 하고 있습니다. (glob 맨페지이의(지▁for▁thepagegloman 7 glob는 다음과 같습니다.

묘사

Long ago, in UNIX V6, there was a program /etc/glob that would expand 
wildcard patterns.  Soon afterward this became a shell built-in.
These days there is also a library routine glob(3) that will perform this 
function for a user program.

와일드카드 일치

A string is a wildcard pattern  if it contains one of the characters '?', '*' or '['. 

글로빙

Globbing is the operation that expands a wildcard pattern 
into the list of pathnames matching the pattern.

, 에 즉, 다가 할 때 됩니다.'?','*'또는'['먼저 글로빙은 와일드카드 패턴을 파일 목록으로 확장한 다음 이러한 파일을 프로그램 자체에 대한 인수로 제공합니다.

의 의미 .'git add .'그리고.'git add *'Denis가 명확하게 설명했습니다.

git add파일 목록이 추가될 것으로 예상됩니다.은 확장됩니다.*또는.각각 결과를 git add할 매개 변수로 제공합니다.이제 다른 점은 다음과 같습니다.git add .되는 반면 git는 현재리확장되는반면로토디렉반,면▁g▁g▁expand▁to▁whereas▁the는,git add *파일 글로빙을 트리거하고 점으로 시작하지 않는 모든 파일 및 디렉터리로 확장합니다.

언급URL : https://stackoverflow.com/questions/26042390/git-add-asterisk-vs-git-add-period

반응형