git详细介绍,以及常用的操作,命令
- 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详细介绍,以及常用的操作,命令相关推荐
- 版本控制工具Git详细介绍和常用命令
一.安装Git 在linux系统使用非常方便,只需要打开shell界面,并输入: sudo apt-get install git-core 按下回车后输入密码,即可完成Git的安装.但我们可能更多情 ...
- linux下常用的关机命令有:shutdown、halt、poweroff、init;重启命令有:reboot。下面本文就主要介绍一些常用的关机命令以及各种关机命令之间的区别和具体用法。
linux下常用的关机命令有:shutdown.halt.poweroff.init:重启命令有:reboot.下面本文就主要介绍一些常用的关机命令以及各种关机命令之间的区别和具体用法. 原创未通过审 ...
- linux中tags文件能删除吗,Git 详细介绍查看、删除、重命名远程分支和tag
Git 详细介绍查看.删除.重命名远程分支和tag 1. 查看远程 分支加上-a参数可以查看远程分支,远程分支会用红色表示出来: xiaosi@Qunar:~/code/qtown-score$ gi ...
- Spark入门必读:核心概念介绍及常用RDD操作
导读:Spark是由加州大学伯克利分校AMP实验室开源的分布式大规模数据处理通用引擎,具有高吞吐.低延时.通用易扩展.高容错等特点.Spark内部提供了丰富的开发库,集成了数据分析引擎Spark SQ ...
- 腾讯轻量云服务器控制台详细介绍及建站操作图文教程
腾讯轻量应用服务器控制台与腾讯云服务器不同,轻量应用服务器主要是在控制台上集成了大部分建站功能,通过简单点击几次鼠标就可以轻松建站,易学易用.不过对于没接触过的新手来说,还是有点陌生的,所以青阳通过图 ...
- java文件读写详细介绍_java文件读写操作大全
一.获得控制台用户输入的信息public String getInputMessage() throws IOException...{ System.out.println("请输入您的命 ...
- Pytorch高级训练框架Ignite详细介绍与常用模版
引言 Ignite是Pytorch配套的高级框架,我们可以借其构筑一套标准化的训练流程,规范训练器在每个循环.轮次中的行为.本文将不再赘述Ignite的具体细节或者API,详见官方教程和其他博文.本文 ...
- Git介绍及常用操作演示(一)--技术流ken
Git介绍及常用操作演示(一)--技术流ken Git介绍 Git(读音为/gɪt/.)是一个开源的分布式版本控制系统,可以有效.高速的处理从很小到非常大的项目版本管理. Git 是 Linus To ...
- brew 镜像_Docker牛刀小试:安装及常用的镜像命令和容器命令
在上一篇我们对Docker做了一个简单介绍,有了一个犹抱琵琶半遮面的认识,这篇文章就揭开这半面黑纱,让Docker安装在我们的电脑上,根据官方文档,我们去操作它,去驾驭它! 我的电脑是Mac,可以通过 ...
最新文章
- Java实战equals()与hashCode()
- codeforces 922E
- 前端学习(1732):前端系列javascript之状态切换
- python字典的内置函数_python – 用于字典转换的特殊方法名称的内置函数
- IDE Eclipse / Visual Studio / CodeBlocks 调试命令 step into / step over / step return 功能
- win11文件夹无法删除怎么办 windows11文件夹无法删除的解决方法
- activiti流程变量
- auth php rbac,php中比rbac更好的权限认证的方式auth认证类
- Python雷电小游戏、战机小游戏源代码源程序
- java毕设项目开源啦,springboot+vue+springcloud的家庭理财系统
- Bus Hound实用教程
- Grand Canyon
- 读《断舍离》山下英子
- python-pygame实现飞机大战-5-屏幕渲染绘制分数、生命数、超级炸弹数以及暂停功能
- 图神经网络(GNNs)模型学习笔记与总结
- Hello Goodbye
- IP65等IP防尘防水等级测试标准IEC60529测试内容详解
- pandas删除包含特定字符串所在的行
- 潭州教育学python_潭州教育-Python学习笔记@基础讲解作业1
- 【Javscript Java】解决CSV中文乱码的问题
热门文章
- 版本控制工具Git详细介绍和常用命令