大家好,又见面了,我是你们的朋友全栈君。
参考:https://juejin.cn/post/6966059771346550815
tree
对象,再生成commit
对象 通过 git write-tree命令将暂存区内容写入一个树对象:
$ git write-tree d8d965c56c04e851e3b47f524c6c52a24c396857
查看tree对象类型:
git cat-file -t 7850adac6112da2c1a2aa2c1576dfa2171d32b24 # tree
查看tree对象内容:【tree对象也是指向blob对象的】
$ git cat-file -p d8d965c56c0 100644 blob 6a0b867bdc470c582c15906f264b9fec371cdbfc readme.md
tree
对象,再生成commit
对象,然后会将记录记录到logs
文件夹下。1、Git常用操作 : https://blog.csdn.net/w372426096/article/details/81625446
2、git概念和原理 : https://blog.csdn.net/zguoshuaiiii/article/details/78375997 或 https://www.jianshu.com/p/a31471933fd3(git 有4个空间)
关键概念:工作区(里面的文件也叫 工作副本)、暂存区(也叫 缓冲区)、本地仓库、远程仓库 https://blog.csdn.net/zssureqh/article/details/52564305
3、Git图谱:https://www.jianshu.com/p/d3d575799ff3
4、git 分支管理: https://www.cnblogs.com/spec-dog/p/11043371.html 或 https://www.cnblogs.com/kevingrace/p/5691115.html 或 http://www.ruanyifeng.com/blog/2012/07/git.html
5、git本地分支和远程分支:本地分支和远程分支是不同的分支,给对他们的处理就是不同的分支处理的。 比如 master分支 和 orgin/master 这是两个不同的分支。
6、git pull 拉取远程的代码:http://t.zoukankan.com/hoge66-p-14688241.html
6、git 两种合并方式
7、git reset 和 git revert。https://www.cnblogs.com/houpeiyong/p/5890748.html
总结:git reset 是删除 指定版本后面所有的提交,而 git revert 是新增一个和指定版本反向操作的代码提交。
8、远程仓库的回滚(回滚分 几种 情况的): https://blog.csdn.net/qq_36898043/article/details/81461019
9、git 自带的图形工具有两个: https://www.zhihu.com/zvideo/1251479417017966592
10、git 配置别名: 有的命令太长了,通过别名可以很方便使用。 https://www.jianshu.com/p/161b3f70e314
11、Git通过命令忽略指定文件:https://www.cnblogs.com/sunwk/p/13458889.html 或 https://www.it610.com/article/1303883228863565824.htm 项目中一些需要在本地修改,又不能写进.gitignore中,就需要通过命令了。比如, vue.config.js 文件,本地修改代理地址,本不应该随着add . 提交上去。所以我们需要本地忽略掉,但是不能写在.gitignore上。
12、git 命令常用参数说明:
13、从其他分支merge个别文件或文件夹 https://wenku.baidu.com/view/a47b40cd82c758f5f61fb7360b4c2e3f57272584.html
git checkout source_branch <path>...
注意:在使⽤git checkout 某⽂件到当前分⽀时,会将当前分⽀的对应⽂件强⾏覆盖。
14、git stash:保存工作进度(保存 工作区 和 暂存区 的改变)
15、checkout命令:checkout 除了切换分支,还有 检出内容到工作目录。https://juejin.cn/post/6978436693485420575
git checkout -- <file>
检出内容到工作目录 。
--
可以省略(
git checkout <file>
), 主要用于防止文件路径和分支名称混淆(
git checkout <file>
和
git checkout <branch>
命令结构相同)。
checkout可以从很多地方检出内容:暂存区、某个提交、某个分支、stash保存的进度中
————————————————————————————————————————————————————————————
1、git提交时如何忽略一些文件 : https://www.jianshu.com/p/ade52455c3a4
2、.gitkeep 文件的作用 :https://www.cnblogs.com/xingzc/p/7896869.html
git是不允许提交一个空的目录到版本库上的,可以在空的文件夹里面建立一个.gitkeep文件,然后就可以提交上去了。(其实只要里面有文件就可以提交上去了)
3、git 指定 分支,克隆代码: https://blog.csdn.net/Connie1451/article/details/84992915
git clone -b 分支名 仓库地址
9、git 命令可以写成 批处理,这样就不用记git命令,也不容易出错。 https://blog.csdn.net/weixin_42381351/article/details/87369661
.bat 的批处理无法在 git Bash 命令框上运行,所以 使用 .sh 后缀名的批处理文件。
git Bash 命令框 上运行 .sh 批处理文件。 https://www.jb51.net/article/170880.htm
sh .\test.sh
10、操作中遇到到问题:
a、git删除了本地文件 , 并且提交了,但是没push,然后从远端拉代码 , 怎么没有把这个文件拉下来呢? https://segmentfault.com/q/1010000016759971 原因:本地版本更新,本地已经有远程的代码,pull 肯定无用啊。从提交记录上看,应该是回退一个版本。
11、Cherry-pick:参考链接
12、
1、TortoiseGit安装与使用 : TortoiseGit的使用是基于git(软件)的基础上的。
参考: https://www.cnblogs.com/wupenglei-5/p/8744801.html
TortoiseGit 下载 : https://tortoisegit.org/download/
2、通过TortoiseGIT把本地项目上传到GitHub : 链接地址
注意:puttyken获取鼠标行为来生成密钥。鼠标移动速度越快,密钥生成就越快。(鼠标不动的话是非常慢的) 参考: https://jingyan.baidu.com/article/6c67b1d69134a92787bb1ee3.html
3、github使用ssh密钥的好处与原因 : https://blog.csdn.net/love_fdu_llp/article/details/38752365
4、TortoiseGit同时推送两个远端仓库代码 :https://blog.csdn.net/xinxinsky/article/details/80034530
注:通过克隆的仓库,本地和远端仓库已经建立了联系,所以不需要额外去配置了。
5、解决 两个 根本不相干的 git 库(本地库 和 远端库建立连接):链接地址1 (推荐这个) 或 https://blog.csdn.net/m0_37402140/article/details/72801372
6、git中,一个项目就是一个仓库。所以 git小乌龟 中每个项目中进行设置是有差别的,比如 远端的地址。不同项目是不一样的。
通过 克隆 下来的仓库, 远端设置中会自带克隆下来的地址的,所以不用配置。如果需要添加一个远端地址,就需要在这里在配置一个。
7、小乌龟git 删除本地分支,远程分支:https://www.jianshu.com/p/e0da2720372a
8、小乌龟git 中 版本树,如果是全部分支,所有分支的节点都会显示; 如果是某个分支的话,只显示于这个分支有影响的节点。如,未合并的分支节点不显示,合并的分支,影响当前分支代码的节点,就会显示。
这个 主要在这个分支显示上,右键就可以选择显示的节点是全部还是某个分支了。
注意:小乌龟git默认的排序不是以时间来排序的,需要自己设置成git默认的时间排序。版本树中的颜色和信息中对应分支的颜色是不一致的,每一行只有一个节点,显示的分支标签对应在哪个哪个分支上,该分支就是对应的分支。
1、推送代码到码云上的话使用 TortoiseGit 的话,和GitHub一样需要创建 SSH秘钥的(TortoiseGit 软件内置了 puttyken 软件的)。
注意:puttyken获取鼠标行为来生成密钥。鼠标移动速度越快,密钥生成就越快。(鼠标不动的话是非常慢的) 参考: https://jingyan.baidu.com/article/6c67b1d69134a92787bb1ee3.html
2、使用TortoiseGit+码云 管理项目代码 : https://blog.csdn.net/yl2isoft/article/details/53493194
3、git本地项目代码上传至码云远程仓库 : https://blog.csdn.net/fox9916/article/details/78253714?locationNum=5&fps=1 或 https://blog.csdn.net/ts_zxc/article/details/40795225
4、码云上的公钥只能一个有效,github应该也是一样。
5、github如何用浏览器直接打开项目里的html页面 : https://www.cnblogs.com/futai/p/6733358.html
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/167638.html原文链接:https://javaforall.cn