ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

git 入门学习

2021-08-04 13:00:53  阅读:124  来源: 互联网

标签:文件 git 入门 本地 学习 Git 版本 分支


git概述

Git是一个免费的、开源的分布式版本控制系统,可以快速高效地处理从小型到大型的各种项目。Git易于学习,占地面积小,性能极快。它具有廉价的本地库,方便的暂存区域和多个工作流分支等特性。

Git远程库是基于网络服务器的远程代码仓库,在局域网里有Gitlab,互联网里国内有Gitee码云,国外有GitHub。

Git方便维护版本,可在各个版本间调整、并行,进行项目团队协作。

版本控制

这是一种记录文件内容变化、以便将来查阅特定版本修订情况的系统,使个人开发过渡到团队协作。

版本控制工具

集中式:CVS、SVN(Subversion)、VSS等
优点:管理员可控制开发者权限,管理集中化的版本控制系统
缺点:中央服务器单点故障时,无法更新,无法协同工作

分布式:Git、 Mercurial、 Bazaar、 Darcs等
优点:服务器断网时不影响开发,每个开发者的客户端保存着完整项目记录

安装(Mac)

  • 官网下载对应版本
  • 安装Xcode自带Git

安装后在终端输入git --version 查看版本

git --version
git version 2.30.1 (Apple Git-130)

配置用户和邮箱
Git首次安装必须设置

git config --global user.name “name” #姓名
git config --global user.email “xxx@mail.com” #邮箱

使用Git

在这里插入图片描述

初始化本地库

git init
指定一个目录,使用该目录打开终端,输入git init,初始化后该目录为git工作区。该目录下生成一个隐藏目录/.git,这个目录也叫版本库
cmd+shift+. 查看隐藏文件
在这里插入图片描述

查看本地库状态

git status

首次查看,无文件
在这里插入图片描述

新增文件后查看,检测到未追踪的文件
在这里插入图片描述

添加暂存区

git add 文件名

git add helloWorld.txt

再次查看状态,检测到暂存区有新文件
在这里插入图片描述

提交本地库

git commit -m "日志信息" 文件名

git commit -m "my first commit" helloWorld.txt

在这里插入图片描述
在这里插入图片描述

修改文件后再提交本地库

修改文件:vim 文件名
在这里插入图片描述

提交至暂存区:git add 文件名
在这里插入图片描述

提交本地库:git commit -m "日志信息" 文件名
在这里插入图片描述

查看历史版本

git reflog 查看版本信息 / 刷新日志
git log 查看版本详细信息
在这里插入图片描述

切换版本

git reset --hard 版本号

git reset --hard 9a4fbec
# head指针转向指定版本
HEAD is now at 9a4fbec my first commit 

在这里插入图片描述

使用Git 分支

在开发时可以多人配合,同时推进多个任务,不仅可以提高开发效率,且在开发自己任务分支时不会影响主线分支的运行。

查看分支

git branch -v
‘*’ 指向当前分区
在这里插入图片描述

创建分支

git branch 分支名

切换分支

git checkout 分支名

合并分支

git merge 分支名

指针指向master时合并分支hot-fix,首次合并时出现提示,意为请输入提交消息以解释为什么需要进行此合并
在这里插入图片描述
按提示输入备注后,显示由“递归”策略进行的合并
在这里插入图片描述
合并后再次分别通过master/hot-fix修改文件,在不同行分别添加master test / hot-fix test ,添加提交本地库后再次合并,出现提示
在这里插入图片描述
说明产生合并冲突,两个分支在同一个文件的同一个位置有两套完全不同的修改,Git无法判断使用哪套,需要人为修改决定合并文件内容
在这里插入图片描述

特殊符号
<<<<<<< HEAD
当前分支的代码=======
合并过来的代码>>>>>>> hot-fix

为了解决冲突,即人工确认最终合并保留的代码,删除特殊符号,调整代码
在这里插入图片描述

修改后,执行提交,注意此时使用git commit 命令不能带文件名,可能报错(fatal:cannot do a partial commit during a merge),如执行成功
在这里插入图片描述

master、hot-fix 其实都是指向具体版本记录的指针。当前所在的分支,其实是由HEAD 决定的。所以创建分支的本质就是多创建一个指针。指针变化提示
在这里插入图片描述

注意:每一次修改都需要重新添加暂存区提交本地库

分支补充

在本地库下游隐藏文件夹/.git,其中HEAD文件指针指向当前分支,根据当前分支在/refs文件夹下的/heads文件夹查找对应分支文件,指针指向当前版本号
在这里插入图片描述
在这里插入图片描述

git团队协作机制

团队内协作

本地库-主创建远程仓库并推送代码,其他人克隆远程仓库到本地进行修改,上传远程库需要元上传者邀请
在这里插入图片描述

跨团队协作

将远程仓库地址发送给邀请跨团队协作的人,他通过代码托管中心收到链接,点击fork将项目叉到本地仓库,成功后可在线编辑叉取到的文件,编辑完毕提交并点击pull request。远程库-A收到pull request,调整确认后点击merge pull request合并代码
在这里插入图片描述

标签:文件,git,入门,本地,学习,Git,版本,分支
来源: https://blog.csdn.net/weixin_49487589/article/details/118708521

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有