2.
1. $=> git init qingmu 会创建一个青木的文件夹,里面会有.git目录 2. $=> git status 用于显示工作目录和暂存区的状态 3. $=> git add README.MD 添加一个文件到暂存区 4. $=> git add -A 添加所有文件到暂存区 5. $=> git rm --cached README.MD 从暂存区删除,并不会删除本地文件 6. $=> git commit README.MD -m '第一次提交' 提交文件,并且带上说明 7. $=> git commit -a '提交全部' 提交所有暂存区文件 8. $=> git remote add origin https://gitee.com/yue22/YX-Cloud.git 添加远程仓库,origin表示默认远程仓库空间名称,可以自定义。 9. $=> git push --set -upstream origin master 添加上游主分库 10. $=> git push --set -upstream origin master 添加上游主分支到仓库 11. $=> git pull 从远程仓库更新代码到本地
1. $=> git branch [-avv] 查看当前分支 2. $=> git branch <branch name> 基于当前分支版本新建一个分支 3. $=> git branch <new branch name> <old branch name> 基于指定分支(包括远程与本地分支)创建 4. $=> git branch <branch name> <commit id> 基于提交的某个版本新建分支 5. $=> git branch -d <branch name>... 删除分支,可以多个 6. $=> git checkout <branch name> 切换分支 7. $=> git merge <merge target> 合并目标分支 # 如果合并分支出现冲突,会导致合并失败,此时status 为mergeing 状态 # 需要手动修改后重新提交
1. $=> git remote [-v] 查看远程仓库配置 2. $=> git remote add <name> <git url> 添加新的远程仓库 3. $=> git remote remove <name> 删除远程仓库 4. $=> git remote --set-upstream <name> <branch name> 上传指定分支到指定的远程仓库
1. $=> git tag 查看当前标签 2. $=> git tag <tag name> <branch> 基于指定分支打标签 3. $=> git tag -d <tag name> 删除标签
1. $=> git log <--oneline> 查看主分支提交日志 , 参数表示一行显示,比较简洁 2. $=> git log <branch name> <--oneline> 查看指定分支提交日志 3. $=> git log <branch name1>.. <branch name2> 比较两个分支的版本差异2相对于1有多少版本没有合并 4. $=> git log --grapth --oneline 显示提交日志的网络 5. $=> git show <版本号> 查看指定版本号提交内容
# 往git 数据库中插入数据 $=> echo 'content data' | git hash-object -w --stdin # 返回数据库键值对的键值 $=> 79362d07cf264f8078b489847132afbc73f87b9a # 基于键值取回数据 $=> git cat-file -p 79362d07cf264f8078b489847132afbc73f87b9a
- 1. $ find .git/objects/ -type f 查看git 数据库中所有对象,包括存储对象、树对象、提交对象 - 2. 当我们修改内容后git add 添加到暂存区时,这个时候会生成相应内容的文件存储对象,如下图:
1. $ git commit -a -m '第一次提交' 提交暂存区的文件的文件对象,这个时候会生成一个commit 提交对象,一个树根节点对象,一个或多个树子节点对象,以及多个文件内容存储对象 2. $ git log 查看当前提交返回的提交对象key值 3. $ git cat-file -p 55b09dd79 通过返回的提交对象key值查询内容可获得,树根节点对象,以及作者,上一次提交对象等等信息 4. $ find .git/objects/ -type f 查询所有对象结构,可以一一对应上面几种对象类型
5. $ git cat-file -p cdbc7199296 查询根节点工作树,可以看到里面包含了一个文件对象的信息,一个文件目录的对象信息