- 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)
- 建立本地 git 仓库,cd 到你的本地项目根目录下,执行 git init 命令
cd 本地工程根目录
git init //这个目录就变成了git可以管理的仓库
- 如果文件过大,最好添加以下语句
git config --global http.postBuffer 524288000
- 将本地项目工作区的所有文件添加到暂存区。小数点 “.” ,意为添加文件夹下的所有文件;也可以将 “.” 换成具体的文件名,如果想添加项目中的指定文件,那就把 “.” 改为指定文件名即可
git add .
- 将暂存区的文件提交到本地仓库
git commit -m "注释说明"
- 在 github 或者 gitlab 上创建新的repository,本文基于 github 操作,gitlab 类似。创建如下图所示:
- 将本地代码仓库关联到 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
- 将代码由本地仓库上传到 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 切换成你的当前分支名即可。
至此,操作成功!
- 这种操作方式仅适用于单个文件小于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′|┛ 嗷~~
- git常用操作之清空远程仓库
1.首先选定一个文件夹📁 Git Bash Here
- Git 从远程拉取代码 git clone https://github.com/860277630/test.git
3.打开文件夹📁 cd test 删除所有文件 git rm * -r
4.然后更新本地仓库 git add . git commit -m “clear”
- 提交远端,git push -u origin master
6.然后发现远程仓库已经被清空了