针对各个项目的gitignore文件示例
github/gitignore: A collection of useful .gitignore templates
忽略文件
文件
.gitignore
的格式规范如下:
• 所有空行或者以
#
开头的行都会被 Git 忽略。
• 可以使用标准的 glob 模式匹配。
• 匹配模式可以以(
/
)开头防止递归。
• 匹配模式可以以(
/
)结尾指定目录。
• 要忽略指定模式以外的文件或目录,可以在模式前加上惊叹号(
!
)取反。
glob模式是指shell所使用的简化的正则表达式,*表示匹配零个或者多个任意字符,[abc]表示匹配任意一个字符,?表示匹配任意字符,中划线表示范围匹配,[0-9]表示匹配数字,两个**表示匹配任意中间目录,比如a/**/z可以匹配a/z,a/b/c/z,a/b/z登目录。
例子:
# no .a files
*.a
# but do track lib.a, even though you're ignoring .a files above
!lib.a
# only ignore the TODO file in the current directory, not subdir/TODO
/TODO
# ignore all files in the build/ directory
build/
# ignore doc/notes.txt, but not doc/server/arch.txt
doc/*.txt
# ignore all .pdf files in the doc/ directory
doc/**/*.pdf
查看暂存状态
git status
移除文件
git rm filename
从暂存区删除
git rm --cached README
重命名
git mv README.MD README
git status
相当于执行了如下三个命令:
mv README.MD README
git rm README.MD
git add README
重新提交
git commit --amend
这个命令会将暂存区中的文件提交。如果自上次提交以来你还未做任何修改(例如,在上次提交后马上执行了此命令),那么快照会保持不变,而你所修改的只是提交信息。
你提交后发现忘记了暂存某些需要的修改,可以像下面这样操作:
git commit -m "initial commit"
git add forgotten_file
git commit --amend
最终你只会有一个提交 - 第二次提交将代替第一次提交的结果。
取消暂存的文件
git reset HEAD <file>... 来取消暂存
撤消对文件的修改
git checkout -- <file>
从远程仓库中抓取与拉取
git fetch remote-name
这个命令会访问远程仓库,从中拉取所有你还没有的数据。执行完成后,你将会拥有那个远程仓库中所有分支的引用,可以随时合并或查看。
必须注意
git fetch
命令会将
数据拉取到你的本地