gitignore用法
下面是一些gitignore文件的写法分享:
(1)所有空行或者以注释符号 # 开头的行都会被 Git 忽略。
(2)可以使用标准的 glob 模式匹配。
(3)匹配模式最后跟反斜杠(/)说明要忽略的是目录。
(4)要忽略指定模式以外的文件或目录,可以在模式前加上惊叹号(!)取反。
所谓的 glob 模式是指 shell 所使用的简化了的正则表达式。星号(*)匹配零个或多个任意字符;[abc] 匹配任何一个列在方括号中的字符(这个例子要么匹配一个 a,要么匹配一个 b,要么匹配一个 c);问号(?)只匹配一个任意字符;如果在方括号中使用短划线分隔两个字符,表示所有在这两个字符范围内的都可以匹配(比如 [0-9] 表示匹配所有 0 到 9 的数字)。
### 此为注释 – 将被 Git 忽略
*.a # 忽略所有 .a 结尾的文件
!lib.a # 但 lib.a 除外
/TODO # 仅仅忽略项目根目录下的 TODO 文件,不包括 subdir/TODO
build/ # 忽略 build/ 目录下的所有文件
doc/*.txt # 会忽略 doc/notes.txt 但不包括 doc/server/arch.txt
下面有些人会遇到加上这个文件,发现忽略的文件还是有上传。
在git库中已存在了这个文件,之前push提交过该文件。
.gitignore文件只对还没有加入版本管理的文件起作用,如果之前已经用git把这些文件纳入了版本库,就不起作用了
解决:
需要在git库中删除该文件,并更新。
然后再次git status查看状态,文件不再显示状态。
git命令关键字
add gc receive-pack
add--interactive get-tar-commit-id reflog
am grep remote
annotate gui remote-ext
apply gui--askpass remote-fd
archimport gui--askyesno remote-ftp
archive gui.tcl remote-ftps
askpass hash-object remote-http
bisect help remote-https
bisect--helper http-backend repack
blame http-fetch replace
branch http-push request-pull
bundle imap-send rerere
cat-file index-pack reset
check-attr init rev-list
check-ignore init-db rev-parse
check-mailmap instaweb revert
check-ref-format interpret-trailers rm
checkout log send-email
checkout-index ls-files send-pack
cherry ls-remote sh-i18n--envsubst
cherry-pick ls-tree shortlog
citool mailinfo show
clean mailsplit show-branch
clone merge show-index
column merge-base show-ref
commit merge-file stage
commit-tree merge-index stash
config merge-octopus status
count-objects merge-one-file stripspace
credential merge-ours submodule
credential-manager merge-recursive submodule--helper
credential-store merge-resolve subtree
credential-wincred merge-subtree svn
cvsexportcommit merge-tree symbolic-ref
cvsimport mergetool tag
daemon mktag unpack-file
describe mktree unpack-objects
diff mv update
diff-files name-rev update-git-for-windows
diff-index notes update-index
diff-tree p4 update-ref
difftool pack-objects update-server-info
difftool--helper pack-redundant upload-archive
fast-export pack-refs upload-pack
fast-import patch-id var
fetch prune verify-commit
fetch-pack prune-packed verify-pack
filter-branch pull verify-tag
fmt-merge-msg push web--browse
for-each-ref quiltimport whatchanged
format-patch read-tree worktree
fsck rebase write-tree
fsck-objects rebase--helper