GIT操作
git文件的三种状态
当前工作区与暂存区与仓库区一致
此时对本地对应仓库进行修改
工作区:000 111 222
暂存区:000 111
仓库区:000 111
$ git add .
是暂存未提交状态
而此时对本地再次修改,一个文件可以处于三个状态的体现:
暂存未提交
修改未暂存
然后执行 git add .
再git commit -m
继续对工作区修改添加555
git diff 查看两两之前差异
$ git diff
此命令比较的是工作目录中当前文件和暂存区域快照之间的差异。(也就是修改之后还没有暂存起来的变化内容。)
$ git add .
若要查看已暂存的将要添加到下次提交里的内容,可以用 git diff --staged 命令。 这条命令将比对已暂存文件与最后一次提交的文件差异:
跳过使用暂存区域
Git 提供了一个跳过使用暂 存区域的方式, 只要在提交的时候,给 git commit 加上 -a 选项,Git 就会自动把所有已经跟踪过的文件暂存
起来一并提交,从而跳过 git add 步骤:
$ git commit -a -m 'commit'
删除和修改文件
删除和修改文件不要直接在本地仓库内对文件进行修改,要用git命令
删本地仓库内的文件只在本地删除后
查看状态 (是有问题的)
$ git checkout --readme.txt
$ git mv file_from file_to
运行 git mv
就相当于运行了下面三条命令:
$ mv README.md README $ git rm README.md $ git add README
查看历史
git log
撤销操作
撤销回你指定的版本 通过哈希码确定
哈希码在git log
的时候查询(此时commit -m
后面的引号里面的信息有作用,恢复到你清楚的某一步操作)
Git分支
对于master 分支下的文件进行修改 当切换到develop分支下 发现文件没有变化
查看分支 回到主分支 删除develop分支
当前对于master分支添加文件进行修改 然后增加新的分支
当前状态:
而对于develop内文件进行修改提交,变成新的状态,不会对master的文件有影响
当前状态:
此时在master分支下对文件进行修改,就变成了需要合并的状态:
切换到master分支 执行$ git merge develop
由于两个分支文件写在同一行 会有冲突,文件显示这样的状态
对于1 4 6行删除后 执行$ git commit -a -m 'merge'
合并完毕 更新成功
注意:第一次提交时,不能直接两步合并会报错,要执行两步命令,先git add .