1.在git项目中添加文件
git文件状态.png
查看文件状态,git status,发现乱码,则可以输入
git config --global core.quotepath false进行解决,最后输入
git add git文件状态.png
git commit -m "添加git状态文件"
则图片也放入项目管理中
2.此时我们对README.CD文件做修改,
然后我们查看文件状态 git status,可以看到文件目前状态是modified,下一步状态就是staged
通过git add README.CD,命令可以把文件放入放入暂缓区,此时可以查看文件状态git status
再通过 git commit -m "commit README.CD first change ",再查看文件状态 git status
加入我们把文件放入暂缓区时(即我们输入了git add 命令,但是没有commit),这时候我们又对文件进行了修改,则输入git status,则可以看到项目管理中,文件有两个状态,
我们这是通过 git status查看文件状态,则可以看到如下画面,此时我们提交,则提交的是放入暂存区的那一次修改的内容,当然这个时候我们也可以再一次 git add,此时文件就之后一个状态staged(放入暂存区,等待commit)
3.项目中有一些文件是不需要进行管理的,比如java项目中的只要src目录,还有一些配置文件,其余的是可以不要的,此时我们可以让git管理,识别哪些文件是不需要管理的
在项目中添加文件 (可以手动添加,也可以用命令 vim .gitignore),我们在文件中输入 *.[oa](忽略以o或者a结尾的文件),然后把.gitignore提交到项目管理中
.gitignore
此时我们在项目中创建文件 test.o ,test.txt,再输入git status,发现,项目提示文件状态只提示说test.text,次文件还没有放入项目管理中
文件 .gitignore 的格式规范如下:
- 所有空行或者以注释符号 # 开头的行都会被 Git 忽略。
- 可以使用标准的 glob 模式匹配。
- 匹配模式最后跟反斜杠(
/
)说明要忽略的是目录。 - 要忽略指定模式以外的文件或目录,可以在模式前加上惊叹号(
!
)取反。
所谓的 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