-
git hash-object -w README.MF:将这个文件中的内容写到hash-object数据库中。
然后使用git cat-file -p 加key,把里面的地址取出来 -
看下面文件显示红色,是因为,没有把内容提交到栈存取
然后提交上去就是可以了 -
将文件从栈中删除:git rm --cached MEADME.MF
-
git add -A:是将所有内容提交,但是通过git status可以查看到这个文件还没有提交到本地仓库中。
-
git commit MEADME.MF -m ‘first commit 1’ :提交到本地仓库
-
查看到本地没有任何待提交的内容
-
连接自己的github上面的仓库,并命名为origin:git remote add origin 加仓库地址,就是将本地仓库中的内容提交到远程仓库中
-
将本地分支push到远程仓库中,如果直接执行git push会出错,因为本地分支与远程仓库没有建立联系
-
git push --set-upstream origin master(master可以根据子的需要自定义,就是当前分支在远程分支对应的名称)
-
将本地的分支提交到origin远程仓库中去,然后创建一个新的分支
-
如果一个用户想下载我们的文件:git clone +文件的地址 +另起一个命名
如果文件地址采用的是file+文件的硬盘地址的话,那么拷贝的只是package和info文件 -
然后另外一个对这个文件进行修改等操作,修改完之后然后再上传到远程仓库:
-
git add -A;git commit -am ‘2 commit’;git push
add所有,commit -am是提交所有,git push 这时本地分支与远程仓库已经连接,不需要进行再进行git push --set-upstream origin master -
然后在自己的git上面执行git pull(是拉取远程分支更新到本地仓库的操作,比如远程仓库里的学习资料有了新的内容,需要把新内容下载下来的时候,就可以使用git pull 命令。事实上,git pull是相当于从远程仓库获取最新版本,然后再与本地分支合并)(
https://segmentfault.com/a/1190000017030384)
- 创建一个java工程的目录:
- 向里面添加一个包:
git add 'package com ’ > src/main/java/com/hello.java
git add src/main/java/com/hello.java
git add -A(全部提交)
git status - 查看当前分支
其实当前有两个分支,一个是当前分支,另一个是远程分支,git branch -avv
可以看出当前有两个分支 - 下面一步证明这两个分支不是一个分支:
- 切换到远程分支:git checkout origin/master(git checkout切换分支的作用)
- 创建分支的方法:
1)基于当前分支 创建一个新的分支
2)基于远程分支 创建一个新的分支
3)基于一个提交 创建一个新的分支
首先查看有哪些提交: - 创建一个分支:
- 删除分支:
- 基于Tag 创建一个分支
查看远程仓库:git remote - 添加远程仓库:
- 新增一个新的远程仓库:
- 把当前的分支push新的远程仓库中:
- 从这里可以看到master关联的是origin2
- 然后我们修改内容的话,直接git push 会提交到origin2中
如果我们想push origin中怎么办?
我们可以直接写 git push origin
删除远成仓库:git remote remove origin
日志管理
- 查看master还有多少没有提交到test中去
- 合并test和master
这样test与master就没有区别 - git show 展示的文件内容比git log 更详细一些
- 查询objects文件下的所有内容:
- 向文件中写入:
后面生成的字节码就是对应这个文件 - 树对象解决了文件名的问题,它的目的将多个文件名组织在一起,其内容包含多个文件名称与其对应的key和其他树对象的用引用,可以理解成操作系统中的文件夹,一个文件夹包含多个文件和其他文件夹:
- git提交对象,一次提交即为当前版本的一个快照,该快照就是通过提交对象保存,其存储的内容为:
一个顶级对象
上一次提交的对象哈希
提交者用户名及邮箱,提交时间戳,提交评论: - 根据顶级对象,查找文件
- 根据中间的地址我们查找MEADME.MF里面的内容:
- 修改一个文件到提交的过程总共生成了三个对象:
一个内容对象–》存储了文件内容
一个树对象–》存储了文件名及内容对象的key
一个提交对象—》存储了树对象的key及提交评论 - commit对象:
- 顶级树对象:
顶级对象包含的key - git cat-file +符号连接
https://git-scm.com/docs/git-cat-file