| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 开发工具 -> git教程(涵盖GitHub |Gitee |Gitlab) -> 正文阅读 |
|
[开发工具]git教程(涵盖GitHub |Gitee |Gitlab) |
简介:个人整理的b站尚硅谷的git教程,方便查阅之用; 目录 1-3-2、git关于本地仓库、版本库、工作区、暂存区、远程仓库、分支详解 1-4-2、查看分支、创建分支、切换分支、提交文件到新分支上操作: 2-4-3、git clone和git pull和git fetch有什么区别: 1、Git1-1、git介绍:1-1-1、Git概述是一个免费的、开源的分布式版本控制系统,可以快速高效地处理从小型到大型的各种项目。 1-1-2、为什么需要版本控制:
1-1-3、集中式版本控制和分布式版本控制:这里讨论集中式版本控制工具svn,和分布式版本控制工具git的区别:
1-1-4、git工作机制:协同开发: 团队内协作: 跨团队协作: 1-1-5、git和代码托管中心:代码托管中心是基于网络服务器的远程代码仓库,一般称之为远程库
1-2、git安装:(安装讲解)详细看自己的博文链接:? git下载安装教程: [https://blog.csdn.net/weixin_42640280/article/details/127040860]? 1-3、git命令:(讲解了常用命令)1-3-1、命令_设置用户签名作用: 设置签名的作用是用来区分不同的操作者的身份,用户的签名信息在每一版本的提交信息中能够看到,可以确认该版本是谁提交的;Git首次安装必须设置用户签名,否则无法提交代码; 这里设置的git用户签名是区分提交者的用户名,与github和gitee上面注册的账号没有任何关系; 设置git本机用户签名 1、这里用户签名两种设置方式,一种是设置项目级别的,一种是设置系统用户级别; 2、两种用户签名的优先级是,项目\仓库级别 > 系统级别,如果两个都设置了,取项目\仓库级别的用户签名; 3、不能两种用户签名都没有设置; 4、邮箱地址git不会去验证是否存在,所以可以随意取名; 方式1:项目\仓库级别(仅在本地库范围内有效)
信息保存位置:?./.git/config ?文件 方式2:系统级别(登录当前操作系统的用户,即本机)
信息保存位置:?~/.gitconfig ?文件 查看设置用户签名是否成功 ?本机配置的是全局的用户签名,查看是否成功,打开路径:C:\Users\ZCQ\.gitconfig文件
1-3-2、git关于本地仓库、版本库、工作区、暂存区、远程仓库、分支详解https://blog.csdn.net/weixin_42640280/article/details/127074182 1-3-3、命令_初始化本地库说明:在想要创建本地库目录中执行命令
初始化之后.git目录下有这些文件 本机操作: 目录F:\_2_GitSpace\_1_github\git_demo,用来初始化本地库; ?进入想要新建本地库的文件夹目录中,执行命令 git init: 生成隐藏文件夹.git ,初始化完成; 1-3-4、命令_查看本地库状态命令
git工作区文件的状态: git工作区文件都包含未追踪和已追踪两种状态 未追踪:如刚在工作区新建的文件 已追踪:可以是以修改,已提交暂存,已提交本地仓库的状态 文件的状态: ?解析: untracked(未追踪 ) unmodified(未修改) modified(已修改) staged? (已暂存) 未追踪的状态: 已修改未提交暂存区: 提交暂存区: ? 提交到本地仓库: ----------------------------- 在刚git init初始化本地库之后的git status查看的状态: 翻译:
为了演示,增加两个文件到本地库中,然后在用命令 git status查看状态: 1、增加两个文件,不git add到暂存区: ?翻译:
2、将helloworld.c这个文件git add到暂存区,helloworld_2.c不添加到暂存区后的git status: 翻译:
1-3-5、命令_添加暂存区命令:
本机操作: warning提示的是换行符CRLF会自动切换LF,不用管,如下操作helloworld.c这个文件提示暂存区状态的红色变成了绿色,并提示新文件,即helloworld已添加到暂存区; 1-3-5、命令_提交本地库命令:
本机操作: 查看状态,因为故意弄helloworld_2.c没有提交到暂存区,所以提示有文件没有被追踪 查看提交信息: ?注: 1、如图中4e289d2 是版本号,commit后面的数值完整的版本号 2、git log 和 git reflog的最大区别是能不能查询到被删除的 commit 记录和 reset 的操作记录,log不能,而reflog可以; 1-3-7、命令_修改文件操作:修改工作区的文件--->查看会提示有文件被修改未追踪----》提交该文件到暂存区----》提交暂存区文件到本地库---》再查看提交信息 1-3-8、命令_版本穿梭命令
软回退,代码内容没有被覆盖: 注意:回退完git reflog 可以看到版本库中的回退操作,而git log看不到 软回退之后重新由暂存区提交到本地仓库操作结果: 总结:只要提交到本地仓库库(git commit)之后,版本都有记录,用git reflog可看到所有提交,回退的历史记录,不管回退几个版本,都可以自由切换代码的版本; 1-4、git分支:1-4-1、分支操作命令:
1-4-2、查看分支、创建分支、切换分支、提交文件到新分支上操作:一样提交流程: 1-4-3、合并分支:如下,leaf01分支中的helloworld.c中的内容被合并到了master分支中的helloworld.c ? 1-4-4、合并分支冲突处理:
目前修改看到的是本地文件,所以要提交到master分支本地库,然后修改同一个地方不同内容,提交到leaf01分支本地库上面,然后再合并分支,就会出现冲突; master分支上面helloworld.c中第八行内容: leaf01分支中helloworld.c文件中第八行的内容: 分支合并冲突的提示: ?合并冲突解决: 按照实际要求修改提示冲突的文件,然后提交到暂存区,本地仓库;? 注意一个坑: 如下图中所示,(master|MERGING)状态表示在合并分支中,所以修改冲突文件之后提交本地库的命令格式为:git commit -m "版本信息" ,不需要指定文件名,否则出现如下提示,并且提交本地库失败:? 提交成功,即合并分支leaf01 到 主分支 master成功。 ================================== 切换分支的问题:
这里的解答是,在这个master分支上面修改文件,文件有改动没提交的话,是无法切换分支的; 问题2:在master分支上面修改文件,然后切换分支leaf01分支之后查看文件内容,发现也是和master分支上修改的一样的内容; 解析:
1、提示有文件修改未提交,无法切换分支; 2、可以切换分支,但是第二分支的内容被第一分支的修改覆盖掉了;
1、无法切换分支; 2、第二分支被第一分支覆盖;
解决办法: 1、要提交到哪个分支的内容就切换到哪个分支上,然后提交暂存区和本地库; 2、如果是当前分支上工作还没做完不能提交本地库,又想去别的分支情况下(如果直接切换其他分支可能出现其他分支的内容被覆盖的情况!): 用? git stash 命令隐藏工作现场;
1-4-5、分支的push 与 pull操作命令:
查看远程分支: 推送本地分支到远程分支,和推送代码一样的指令,即要在要推送到远程的那个本地分支,执行git push <远程仓库名> <远程分支名> ,这样就推送上去了; ?拉取远程指定的分支到本地创建:(应用场景:比如说原来电脑上有git项目工作区,原来只有一个master一条主分支,但是现在新开发一个模块,放在远程新分支上(如领导创建的),这就需要把远程分支拉取创建本地原来的git工作区上): github上面新建一个分支,用来拉取到本地操作实验? git fetch获取显示远程新创建了一个分支: 查看所有分支、拉取远程分支并新建到本地、查看所有分支 1-5、idea集成git2、GitHub2-1、创建远程库2-1-1、注册github网站账号网站:github官网 注册账号 2-1-2、创建远程库点击右上角+号 选择New repository 输入远程库名称、描述、选择私有不公开、下面的添加readme、gitignore文件这里演示而已,不添加 2-1-3、添加远程库和创建别名命令:
git remote 命令用来创建、查看和删除本地仓库和远程代码仓库的连接; 本机操作: 如下,创建好了的一个远程库,下面的HTTPS后面[https://github.com/buggetout/git_demo.git]就是远程库的地址,以 添加远程库并重命名远程库: ? 重命名远程库名和删除远程库操作 2-2、代码远程推送? push2-2-1、命令:
本机操作: 本地库推送到远程库之后弹出了左边的窗口, 点击授权: 提交授权之后,可以在github上面看到新增了项目文件 2-3、代码拉取? pull2-3-1、命令:
本机操作: 如下图,用git pull命令操作 ,第一次出现报错,是github外网的原因拉取失败,重新git pull一次就成功了。 2-4、代码克隆? ?clone将远程仓库复制到本地进行开发,如果要在固定目录下当做工作目录,而且远端仓库如果是领导创建好了,那么就可以直接用git clone 命令直接复制到本地,复制下来是整个版本库,所以不用Git init 初始化;比如说在F:\_2_GitSpace\_1_github\git_demo_clone目录下想git clone一个远程库下来,只需要直接当前目录下右键打开git bash,然后git clone??<远程库url> 2-4-1、命令:
2-4-2、git clone操作做了什么1、拉取代码 2、初始化本地库 3、创建别名 本机操作: github上面创建一个远程库,用来clone到本地操作: 这样复制下来的是整个版本库复制下来; 2-4-3、git clone和git pull和git fetch有什么区别:[git clone、git pull和git fetch的使用和区别_弓长长白水的博客-CSDN博客] 2-5、ssh免密登录详细内容看: [git中HPPTS和SSH协议区别和使用_弓长长白水的博客-CSDN博客] 2-6、idea 集成github3、Gitee码云3-1、gitee创建远程库3-2、idea集成gitee3-3、gitee连接github进行代码的复制和迁移4、GitLab4-1、gitlab服务器的搭建和部署4-2、idea集成gitlab |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/25 21:43:44- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |