• GIT的介绍
    官方中文版通俗易懂文档
    git精讲视频
    git分支操作
    1.Git和svn的区别

Git是分布式版本控制系统 ,即局域网中,只要创建了git版本库的相关信息,该电脑就可以作为git的一个服务器,当文件修改后需要合并时,两台服务器就可以进行文件交换,来达到文件合并的目的。但是在日常使用中,我们还是要创建类似中央服务器,例如:github ,来帮我们作为文件中间交换的服务器,但是这并不代表着github服务器崩溃了,我们的系统就崩溃了,只要其中有一台电脑存储着git的完整文件即版本库信息,就可以作为新的服务器。

SVN集中式版本控制系统,即有一台服务器作为中央服务器,所有的代码都是来源于中间服务器,所有代码的更改也交由中央服务器处理,当中央服务器损坏后,整个版本控制系统也就挂掉,即使系统中有一台电脑保留着完整的文件,版本的相关文件也不再起作用。

2.git仓库的具体逻辑

第一条说过GIT是分布式管理的,每一台电脑都是一个服务器,所以和SVN的有较大差异,然后讨论下上图的逻辑

git是有本地仓库和远程仓库这一说,有.git文件的文件夹称为工作区,在不执行git add , git commit 文件是不归本地仓库管理的,所以,所有文件,包括新加的,修改的,都需要add 和 commit命令来交给本地仓库管理,进而通过绑定链接交给远程仓库管理。

  • git常用命令





  • git常用操作之远程文件的提交(单个文件小于100M)

原文档

  1. 建立本地 git 仓库,cd 到你的本地项目根目录下,执行 git init 命令
cd 本地工程根目录
git init  //这个目录就变成了git可以管理的仓库
  1. 如果文件过大,最好添加以下语句
git config --global http.postBuffer 524288000
  1. 将本地项目工作区的所有文件添加到暂存区。小数点 “.” ,意为添加文件夹下的所有文件;也可以将 “.” 换成具体的文件名,如果想添加项目中的指定文件,那就把 “.” 改为指定文件名即可
git add .
  1. 将暂存区的文件提交到本地仓库
git commit -m "注释说明"
  1. 在 github 或者 gitlab 上创建新的repository,本文基于 github 操作,gitlab 类似。创建如下图所示:

  1. 将本地代码仓库关联到 github 上
git remote add origin https://github.com/KeymonWong/JsAndObjc.git

“https://github.com/KeymonWong/JsAndObjc.git” 就是我在第四步时复制的那个https地址
在这一步时如果出现错误:
fatal:remote origin already exists
那就先输入

git remote rm origin

再输入

 git remote add origin https://github.com/KeymonWong/JsAndObjc.git

就不会报错了。
查看 分支信息

git remote -v
  1. 将代码由本地仓库上传到 github 远程仓库,依次执行下列语句
    7-1、 获取远程库与本地同步合并(如果远程库不为空必须做这一步,否则后面的提交会失败):
git pull --rebase origin master  //不加这句可能报错,原因是 github 中的 README.md 文件不在本地仓库中
//可以通过该命令进行代码合并

7-2、 把当前分支 master 推送到远程,执行此命令后有可能会让输入用户名、密码:

git push -u origin master  //执行完之后如果无错误就上传成功了,需要提示的是这里的 master 是 github 默认的分支,
//如果你本地的当前分支不是 master,就用git checkout master命令切换到master分支,
//如果你想用本地当前分支上传代码,则把第6步的命令里的 master 切换成你的当前分支名即可。

至此,操作成功!

  1. 这种操作方式仅适用于单个文件小于100M的情况,当单个文件超过100M时,见以下方法
  • git操作之大文件上传
    1.单个文件超过100M时,git默认是不给与上传的,需要下载安装git的lfs插件--------------网上的教程
    2.找到要上传的目录,git Bash Here 然后 git init 初始化仓库
git init

.
3.执行下面语句,以防止没有安装lfs

git lfs install

4.用以下语句来对超过100M的文件进行管理,可以多次添加对多个文件进行管理

 git lfs track "MYSQL/mysql-5.7.31-linux-glibc2.12-x86_64.tar.gz"


5.可以看到生成了一个管理文件,大文件最好添加以下语句来扩容

git config --global http.postBuffer 524288000


6.如果想查看被管理文件 使用下面语句

cat .gitattributes

7.然后开始提交

git add .

8.git commit -m 'tijiao'

9.然后按照上面的步骤的第5步到第7步连接远程,将其推送至远程即可,不过用命令连接很不稳定,而且克隆的时候,含有大文件慢到怀疑人生。所以推荐使用gitHub Desktop,详细使用教程,这里我们只说上传大文件。
10.将要上传的文件以及生成的管理文件(.gitattributes)拷贝至gitHub Desktop克隆的仓库中,注意不可复制.git文件

11.然后在git的桌面管理可以看到

11.然后我们填入理由,提交本地仓库,然后同步到远程仓库即可

12.使用桌面管理软件,上传下载的速度都更快,而且可以当配置中心使用┗|`O′|┛ 嗷~~