一、git当小文件网盘的详细过程

        今天使用git的时候遇到了一个问题,自己平时备份的一些命令的md文档什么的想去备份下来,放到git上,随时用随时拉下来挺方便。是不是比某云盘快多了。

        有了这个想法就开始干,下边会详细的操作一下这个把git当小文件网盘的详细过程。不需要任何技术跟着来就行。

Git是一个分布式版本控制工具,主要用于管理开发过程中的源代码文件(Java类、xml文件、html页面等),在软件开发过程中被广泛使用。(可以直接配置到idea中,点点点提交) 下载地址:Git - Downloads

插入一个问题提示

PS省流提示:先提一下后边可能会出现的问题,帮大家已经遇到情况的同学们避个坑。这里在push到远程仓库的时候取决于你提交的内容可能会报错。

==首先是 他会在如下这段操作中,一直停留在Writing objects:这里,然后等待很久......我等了...

WANGZI@WANG MINGW64 /f/testgit (master)

$ git push -u origin "master"

Enumerating objects: 34, done.

Counting objects: 100% (34/34), done.

Delta compression using up to 20 threads

Compressing objects: 100% (23/23), done.

Writing objects: 97% (33/34), 3.17 MiB | 356.00 KiB/s

然后会报一个如下错误,翻译过来大概意思是,远程端服务器意外挂了,连接不到。。。。然后就浪费了10多分钟时间,上传失败。

WANGZI@WANG MINGW64 /f/testgit (master)

$ git push -u origin "master"

Enumerating objects: 34, done.

Counting objects: 100% (34/34), done.

Delta compression using up to 20 threads

Compressing objects: 100% (23/23), done.

error: RPC failed; curl 55 SSL_write() returned SYSCALL, errno = 10053

fatal: the remote end hung up unexpectedly6.00 KiB/s

Writing objects: 100% (34/34), 191.25 MiB | 376.00 KiB/s, done.

Total 34 (delta 1), reused 0 (delta 0)

fatal: the remote end hung up unexpectedly

Everything up-to-date

(这里查了很久,有说 因为网络不好,有说协议,有说文件过大,有说修改

命令将缓冲区增加到500MB:git config http.postBuffer 524288000)

我修改了没用。解决的办法,使用SSH去进行联系去推送就行了。

(原因:文件太大!!)

好了开始演示详细过程,以下正常方式和大文件方式都会详细介绍。

二、操作流程

        首先你要装好了git。并且自己注册了Gitee账号。

地址:Gitee - 基于 Git 的代码托管和研发协作平台

        可以直接在本地新建远程仓库,但是这样我觉得不够自由,这里演示,先在远端建好仓库,本地提交文件到暂存区,然后和远端仓库建立联系之后,去push推送内容。(这里就用大文件作展示示例)

1.先去建立一个仓库

        登陆之后点击“+”号,新建仓库。(目的是拿到仓库地址,你原有仓库你想放进去则可以不建立)。

 打开界面填写仓库内容,仓库名称,路径是自己生成(自己可以改,简单点自己下载时候方便好认,手打也快。)

设置好后地址就是:https://gitee.com/你的账号/仓库路径

 然后会进入这个界面,你就拿到了仓库地址了,还有给你的参考执行命令。剩下的就是在本地操作了。

 

简易的命令行入门教程:

Git 全局设置:

git config --global user.name "你的账户名"

git config --global user.email "你的邮箱"

创建 git 仓库:

mkdir testAA (创建文件夹)

cd testAA (打开到文件夹)

git init (任意文件夹下执行命令,出现.git文件夹,就OK了)

touch README.md (不重要 生成说明文件)

git add README.md (添加这个文件到暂存区)

git commit -m "first commit" (提交暂存区到版本库。“引号中的是提交的版本信息”)

git remote add origin https://gitee.com/Binghaohao/testAA.git (让当前文件夹与远程仓库建立联系)

git push -u origin "master" (推送到远端master分支)

已有仓库?

cd existing_git_repo

git remote add origin https://gitee.com/Binghaohao/testAA.git

git push -u origin "master"

 然后去本地文件夹执行以下上述命令过程。

在测试的testgit文件夹下放了个写文件夹和文件(压缩包是大文件,使用https会出现上述问题,远程服务端以为挂掉,这里点击SSH使用SSH的地址,复制下来后边使用。)

 在当前目录中右键,选择Git Bash Here这个,出现一个命令窗口,输入命令

 输入第一条命令   git init

 之后文件夹下会多了一个.git文件夹,这是放版本的地方(不推到远端,在本地端提交后,也是能版本回滚、版本切换的)。

git status     

查看当前工作区和暂存区文件情况,现在有没有提交到暂存区。

绿色已提交到暂存区,红色未提交

 下一步提交

git add *     

提交所有

或者 * 改为指定文件 或者指定文件夹下都行  这里直接所有 *

 

 提示已经放到工作区了,再看一下状态查询 git status

 绿色已经提交到暂存区了,(如果这时候做了文件修改,或者添加新文件到文件夹,git status有不是绿色的,就重新add 添加一下就行。)然后我们使用命令提交到版本库。

使用命令

git commit -m "自定义版本说明信息"

 

 已经提交到版本库了,查看一下‘

使用命令

git log

 黄色的就是版本编号,用来切换版本 回滚就用他。

下一步建立远程仓库和本地仓库的联系,然后push推送到远程仓库。

命令

$ git remote add origin https://gitee.com/Binghaohao/testAA.git         地址就是复制远程仓库的那一段,现在是https的,*(不适用大文件)

$ git remote add origin git@gitee.com:Binghaohao/testAA.git 现在是SSH的地址,适用上传大文件。

 

这就是已经本地仓库和远程仓库建立联系了,下边push推送,(以后可以使用别的分值,或者标签管理更方便。)

命令   推送的远程master仓库中

git push -u origin "master"

 

 

 成功了,现在使用的是SSH,如果是https就会出现前文提到的那个错误了。

这个时候就成功提交到远程仓库了,刷新一下。

梳理一下完整过程

SSH(上述方法)

git init

git status

git add *

git status

git commit -m "自定义信息"

git log

git remote add origin git@gitee.com:Binghaohao/testAA.git

git push -u origin "master"

HTTPS(https则这样)

git init

git status

git add *

git status

git commit -m "自定义信息"

git log

git remote add origin https://gitee.com/Binghaohao/testAA.git

git push -u origin "master"

三、克隆clone或者pull拉取

1.clone方式

在任意文件夹下,要没有和其他远端建立联系的文件夹下。(用https或者SSH都行)

Git init

Git clone git@gitee.com:Binghaohao/testAA.git

2.pull方式

在任意文件夹下,要没有和其他远端建立联系的文件夹下。(用https或者SSH都行)

在pull之前首先要使本地仓库和远程仓库之间建立联系

git init

git remote add origin git@gitee.com:Binghaohao/testAA.git

git pull origin master:master

 

到此结束,学会了吗?

还有不少关于绑定什么的问题,大家遇到一起交流。告诉你我的解决的办法。

准备一份常用的git命令给大家

 git常用命令

查看配置信息

git config --list

本地仓库常用命令如下:

git status 查看文件状态 git add 将文件的修改加入暂存区 git reset 将暂存区的文件取消暂存或者是切换到指定版本 git commit 将暂存区的文件修改提交到版本库 git log 查看日志

远程仓库操作

git remote 查看远程仓库 git remote add 添加远程仓库 git clone 从远程仓库克隆 git pull 从远程仓库拉取 git push 推送到远程仓库

分支的相关命令,具体命令如下:

git branch 查看分支 git branch [name] 创建分支 git checkout [name] 切换分支 git push shortName 推送至远程仓库分支 git merge [name] 合并分支

查看分支命令:git branch

git branch 列出所有本地分支

git branch -r 列出所有远程分支

git branch -a 列出所有本地分支和远程分支

创建分支命令格式:git branch 分支名称

一个仓库中可以有多个分支,切换分支命令格式:git checkout 分支名称

推送至远程仓库分支命令格式:git push 远程仓库简称 分支命令

合并分支就是将两个分支的文件进行合并处理,命令格式:git merge 分支命令

注意:分支合并时需注意合并的方向,在Master分支执行操作,需谨慎。

本地分支删除:

git branch -d 分支名称

远程仓库删除分支:

git push origin -d 分支名称

注意:

​ 删除分支操作不能处于当前分支下操作

标签相关的命令:

git tag 查看标签 git tag [name] 创建标签 git push shortName 将标签推送至远程仓库 git checkout -b branch 检出标签

批量添加新文件

方法一 文件之间用空格隔开“git add file01 file02 file05” :

方法二 加参数“git add .” : 添加被修改的和新建的文件,不包括被删除的文件;

“git add -u” : 添加所有被修改的和被删除的文件(已经在暂存区的文件),不包括新建的文件;

“git add -A” : 添加被修改、被删除、新建的文件(即所有文件);

法三 添加指定目录下的某类文件“git folder/*”: 添加该文件夹下的所有文件

“git folder/*.js”: 添加该文件夹下的js文件

pull附加命令介绍

git pull命令的作用是,取回远程主机某个分支的更新,再与本地的指定分支合并。它的完整格式稍稍有点复杂。

$ git pull <远程主机名> <远程分支名>:<本地分支名>

比如,取回origin主机的next分支,与本地的master分支合并,需要写成下面这样。

$ git pull origin next:master

如果远程分支是与当前分支合并,则冒号后面的部分可以省略。

$ git pull origin next

上面命令表示,取回origin/next分支,再与当前分支合并。实质上,这等同于先做git fetch,再做git merge。

$ git fetch origin

$ git merge origin/next

在某些场合,Git会自动在本地分支与远程分支之间,建立一种追踪关系(tracking)。比如,在git clone的时候,所有本地分支默认与远程主机的同名分支,建立追踪关系,也就是说,本地的master分支自动”追踪”origin/master分支。

Git也允许手动建立追踪关系。

git branch --set-upstream master origin/next

上面命令指定master分支追踪origin/next分支。

如果当前分支与远程分支存在追踪关系,git pull就可以省略远程分支名。

$ git pull origin

上面命令表示,本地的当前分支自动与对应的origin主机”追踪分支”(remote-tracking branch)进行合并。

如果当前分支只有一个追踪分支,连远程主机名都可以省略。

在 Git 中,有几种方法可以做版本回滚:

使用 git revert 命令:这个命令会撤销一次提交,并在当前分支上新建一个反向提交。这样可以保留原始提交的信息,但是让新的提交撤销它。例如,要回滚到之前的版本,可以运行:git revert HEAD。

使用 git reset 命令:这个命令用于重置当前分支的指针,回滚到指定版本。它可以删除最近的一次或多次提交,但是这些提交的信息还在。有三种方式可以使用,

git reset --hard 将当前分支的指针指向HEAD的前一个版本,并且把当前分支的所有修改都清除 git reset --soft 将当前分支的指针指向HEAD的前一个版本,保留当前分支的所有修改 git reset 与 git reset --mixed 一样,将当前分支的指针指向HEAD的前一个版本,并且把当前分支的暂存区清除 使用 git checkout 命令:这个命令用于切换到指定版本,并且把当前工作目录更新为该版本。例如,要回滚到之前的版本,可以运行:git checkout HEAD~1。

在使用这些命令之前,请确保已经备份了你的工做文件。 ---------------------------------------------------------

当你需要回滚到某个特定的版本时,你可以使用 git revert 命令来完成这个操作。该命令会创建一个新的提交,该提交会撤销之前的提交所做的修改。这样,你就可以将项目回滚到某个特定的版本。

你可以使用下面的命令来回滚到某个版本: git revert 其中, 是你想要回滚到的版本的提交哈希值。

如果你想要回滚到之前的某个版本并且删除之后的提交,你可以使用 git reset 命令。该命令会移除之后的所有提交,并将当前分支重置到指定的版本。

你可以使用下面的命令来回滚到某个版本并删除之后的所有提交:

git reset --hard 注意这种方法会丢失之后的所有修改,请谨慎使用。

另外,你还可以使用 git checkout 命令来切换到某个版本。这个命令会将当前分支切换到指定的版本,并将工作目录重置到该版本的状态。

你可以使用下面的命令来切换到某个版本:

git checkout 这个命令会在当前目录下创建一个新的分支, 所有的修改都在这个

回滚到某一次

如果需要删除的 commit 是最新的,那么可以通过 git reset 命令将代码回滚到之前某次提交的状态,但⼀定要将现有的代码做好备份,否则回滚之后的变动都会消失

​ git reset --hard 9eecfaf11225

误删恢复

仅供参考,数据无价,仅供学习交流。切勿盲目操作,如有不正确请指正一起学习,谢谢。(做好数据备份,盲目操作造成数据丢失概不负责.....)  

参考阅读

评论可见,请评论后查看内容,谢谢!!!
 您阅读本篇文章共花了: