跟踪项目可以从已存在的目录和仓库以及远程仓库进行。
git init 建立仓库,此时会在当前目录下创建一个隐藏文件夹.git/用来存放git的相关数据
git add <path of file or directory> 将文件或目录下的所有文件放入git的暂存区
git commit -m <message> 提交暂存区中的文件快照,并附上相应的注释
git clone [url] targetName 拷贝仓库,并为其命名
[url]: https:// 或 git://user@server:path/to/repo.git或ssh协议
工作目录下的文件有两类:被跟踪的和未被跟踪的。
被跟踪的文件又有三种状态:未经修改的、已修改过的、已暂存的
git status 查看工作目录下文件的状态信息,看明白它所产生的每一句信息
e.g.
git status -s 或 git status --short 以短格式查看工作区文件的状态
短格式下,第一列表示文件的暂存区状态,第二列表示文件的工作区状态,第三列是文件名称
其中,空格表示未暂存,??表示未跟踪,A表示已添加到暂存区,M表示已修改
.gitignore文件定义了那些不被git放在眼里的文件或目录:
.gitignore的语法:
空格和以#开头的行被忽略
使用标准glob模式工作,glob是一种简化的正则表达式
可以使用/来指定目录
!号用来指定那些不被忽略的文件
*匹配零到多个字符
[abc]表示abc中的任意一个
?匹配单个字符
[0-9]表示0-9之间任意字符
**表示嵌套的目录
下面是一个示例.gitignore文件的内容:
# no .a files
*.a
# but do track lib.a, even though you're ignoring .a files above
!lib.a
# only ignore the root TODO file, 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 .txt files in the doc/ directory
doc/**/*.txt
GitHub上维护用针对各种工程的.gitignore文件的示例,可以作为参考或直接拿来使用,地址如下:
https://github.com/github/gitignore