在git中,文件可以处于四种状态:未跟踪,已提交(数据被安全存入本地数据库),已修改(文件有改动 但尚未提交到数据库),已暂存(对已修改文件的当前版本做出了标识并将其加入下一次要提交的快照中)。
在现有目录中初始化Git仓库:
初始化git库忽略文件:
执行git diff 本身并不会显示出自从上一次提交以来的所有变更,而只会显示出还没有进入暂存区的那些变更。
git checkout --[file]是一条危险的命令。执行该命令后,任何对[file]文件做出的修改都会丢失,因为上述命令用之前版本的文件做了覆盖。如果你仍想保留之前对文件做出的修改,却又需要把更改暂时隐藏一会儿,使它们不影响手头的工作,使用储藏(stash)和分支的机制更好。
当你发起提交时,git存储的是提交对象,其中包含了指向暂存区快照的指针。初始提交没有父提交,而一般的提交会有一个父提交;对于两个或多个分支的合并提交来说,存在着多个父提交。
合并分支操作:git执行的操作是简单的三方合并,会使用两个待合并分支上最新提交的快照,以及这两个分支的共同祖先的提交快照。如果你在要合并的分支上都改了同一个文件的同一部分内容,git就没办法干净地合并这两个分支。它会暂停整个合并过程,等待你来解决冲突。
基于远程分支创建的本地分支会自动成为跟踪分支,是与远程分支直接关联的本地分支。
网友评论