git是一个代码托管的平台,我们可以对我们的代码进行分支 推送提交 打标签等等操作,而且git使用过程中也是支持一些linux语言的 比如cd呀 touch mkdir啊等等等
git的具体安装过程就不再赘述
我个人认为 好多东西就是 代码也好 文字 文档 也好,然后都装在一个文件中,然后这个文件 就像一个仓库,都创建一个文件,往里面放入一些东西,就像是仓库存储东西
1.git 操纵本地仓库
首先 我们在 本地 c 盘也好d盘也好创建一个文件夹,
然后创建好之后,我们打开该文件夹下的git的bash 窗口,输入git init 初始化一下我们的本地仓库,这样我们的一个本地仓库就创建好了,但是创建好了并没有卵用,因为我们对本地仓库 进行修改 之类的操作之后,我们都是后期需要推送到 远程仓库也就是gitee 上面的,我们纯粹操作本地仓库而不去操作远程仓库这是不太可取的
好现在进入正题,我们创建好之后,打开这个local文件,里面什么都没有,我们输入git init 之后 ,会出现隐藏的.git文件,
这就代表我们的本地仓库创建成功了,然后 当我们 进行在该文件夹中手动添加一个txt文档文件,就会出现以下几种状态,
首先 我们 假如添加一个 1.txt文件,然后这个文件是在工作区的,我们git add +文件名 就会放到暂存区,然后再commit 一下 会提交到我们的版本库当中,就相当于文件保存到了git本地仓库,如果连接远程仓库,我们还需要push 一下推送到远程仓库,如果没有add commit 直接push文件 是不会成功的
然后git reset可以取消暂存和切换到指定版本,就是 我们commit 一次 算一次版本 ,如果我们第一次commit 一次1.txt然后再commit 一次2.txt 之后,我们使用git log 就会发现有两个uuid 类似的字符串,我们使用reset 命令 +这个字符串的格式就可以从2.txt的版本直接回退到 1.txt的版本
下面演示一下
我们先添加 两个文档 然后 直接查看
我们已经看到了 两个commit 的uuid 而且我们文件中 有 两个文档 ,接下来我们直接reset 添加1.txt的版本当中去,就会发现本地仓库直接回退到只有1.txt的版本,而且值得注意的是 我们回退到1.txt的版中的时候我们git log再查看日志,存在的也只有 1.txt的日志,不会再有之前的两个日志了
这而且在我们add commit 过程中我们可以 使用status 查看各个文件在我们操作时候的状态
2.git操纵远程仓库
我们下载好 git 之后, 我们使用国内的代码托管平台 gitee,然后 我们在gitee中创建了一个仓库,这叫远程仓库
我们创建好之后 会有一个管理
我们依然 还用我们之前创建的本地仓库 ,我们先来看一段命令
我们再gitee上已经创建好了一个仓库,里面有 1 2 3 4 四个文档 我们只需要 git clone 一下 直接拉取到我们的远程仓库,就能得到我们的仓库的所有文件代码之类的了,但是但是值得注意的是 我们克隆之后会自动添加好远程仓库,但是如果我们本地仓库 建立好之后直接pull 拉取 ,这时候会报错,解决方法 就是再拉取命令之后添加 --allow-unrelated-histories
然后 我们 把 添加远程仓库 git remote add 仓库简名 仓库地址 这样添加远程仓库就可以了,而且在我们推送的时候, 格式为 git push 指定的仓库简名 仓库分支 就这样推送
例子
现在用我们之前创建好的本地仓库,我们先git remote add 一下远程仓库,做好绑定,然后 我们直接 git pull +仓库简名+ 仓库分支 的语法 进行代码的拉取,然后再把我们的5.txt 进行推送 然后添加
值得我们注意的是 我们 假如 自己 在本地仓库 删除了一个文件,然后想要推送上去,一定需要 git add git commit之后才能push