【Git版本控制】Git基础入门和分支管理
原文作者:我辈理想
版权声明:文章原创,转载时请务必加上原文超链接、作者信息和本声明。
文章目录
- 前言
- 一、Git是什么?
- 二、git代码托管平台
- 三、git入口
- (一)安装
- 1.linux安装
- 2.windows安装
- (二)入口
- 四、基本使用
- (一)获取项目
- 1.获取已有项目
- 2.创建一个项目
- (二)修改并提交代码
- 1.将文件合并至主线
- 2.其他命令
- (三)标签记录
- 五、按需使用
- (一)分支
- 1.分支增删切
- 2.分支合并
- (二)获取指定分支
- 1.获取指定分支
- 2.切换至某一commit版本的代码
- 六、异常处理
- (一)Git登录
- 1.git登录
- 2.Git重置登录账户密码
- 总结
前言
提示:这里可以添加本文要记录的大概内容:
对于初学者而言,不知需要数量掌握开发语言,还要熟知和操作各种辅助工具。作为开发人员,版本控制系统在实际工作中必不可少,git作为一个开源的分布式版本控制系统,应用十分广泛。
提示:以下是本篇文章正文内容,下面案例可供参考
一、Git是什么?
Git是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理。Git有以下优点:
- 分支更快、更容易。
- 支持离线工作;本地提交可以稍后提交到服务器上。
- Git 提交都是原子的,且是整个项目范围的,而不像 CVS 中一样是对每个文件的。
- Git 中的每个工作树都包含一个具有完整项目历史的仓库。
Git可分为基本使用和按需使用两部分来学习,其中基本使用是必须掌握部分,按需使用需要以基本使用为基础,并了解项目的实际需求和开发流程。
二、git代码托管平台
我们熟悉的git平台有github、gitlab、gitee、腾讯开发者平台、阿里云Code托管平台、百度效率云,这些都是免费的,还有就是公司会搭建私域git(因为git有很多开源版本)。这些代码平台都是在git.exe的基础上,git相关操作是通用的。其中在国内因为网络问题github和gitlab会受到限制,所以我们可以用gitee来管理我们私人代码。
三、git入口
(一)安装
1.linux安装
以Ubuntu为例,采用的是命令安装。
sudo apt-get install libcurl4-gnutls-dev libexpat1-dev gettext \libz-dev libssl-devsudo apt-get install gitgit --version
# 结果
# git version 1.8.1.2
2.windows安装
安装包下载地址:https://gitforwindows.org/
官网慢,可以用国内的镜像:https://npm.taobao.org/mirrors/git-for-windows/。
(二)入口
安装王Git后,可以使用git的相关命令控制本地和远程代码同步(linux下常用场景),也可以使用开发工具同步代码,比如pycharm、vscode等。因开发工具集成的功能不同,git命令可能存在不足,这样就需要使用命令控制。
pycharm开发工具使用git
vscode开发工具使用git
四、基本使用
(一)获取项目
在拉取项目前,需要选择一个文件夹存放项目,进入命令行,然后运行下边的代码
1.获取已有项目
git clone git://github.com/schacon/grit.git
2.创建一个项目
在项目文件夹newproject下,进入命令行,执行git init 命令
# git初始化,会在 newrepo 目录下会出现一个名为 .git 的目录
git init newproject
(二)修改并提交代码
1.将文件合并至主线
git add将README文件放入暂存区,git commit将README文件提交到本地仓库,git push将本地仓库提交至主线。
注:git add 命令后还可以通过命令放弃本次add。
git add README
git commit -m '初始化项目版本'
git push
2.其他命令
# 下载远程代码并合并,最好每次提交代码前使用一次
git pull
# 查看仓库当前的状态,显示有变更的文件
git status
# 查看历史提交记录
git log
# 比较文件的不同,即暂存区和工作区的差异
git diff
# 用于回退版本,需要的时候记得查看命令
git reset
# 将文件从暂存区和工作区中删除
git rm
# 查看当前配置有哪些远程仓库,remote还有一些使用应用
git remote
(三)标签记录
如果你达到一个重要的阶段,并希望永远记住那个特别的提交快照,你可以使用 git tag 给它打上标签。标签我们习惯于加载master分支上,并通过master分支发布项目。
# 将master分支添加v1.0 标签
git tag -a v1.0
# 追加master分支的85fc7e7 commit提交的标签为v0.9
git tag -a v0.9 85fc7e7
# 可以通过git log查看commit提交
git log
五、按需使用
(一)分支
项目默认是master分支,在实际开发中,为了方便管理项目,正对不同版本或不同功能我们会新建分支,待版本或功能完成后,合并至父级分支或直接合并至master分支。
1.分支增删切
# 列举分支
git branch
# 新建一个分支
git branch (branchname)
# 切换至新分支
git checkout (branchname)
# 新建并切换至新分支
git checkout -b (branchname)
# 删除分支
git branch -d (branchname)
2.分支合并
在合并分支前,尽量先查看当前分支,并切换至最终分支。以合并至master分支为例。一般合并的分支不会超过1级,多级合并将出现冲突,需要逐条确认代码,最好还是在编译器上执行。
# 查看分支
git branch
# 切换至master分支
git checkout master
# 查看分支文件差异
git diff
# 合并newtest分支到master
git merge newtest
# 删除分支
git branch -d newtest
# 再次查看分支
git branch
(二)获取指定分支
1.获取指定分支
# 将远程主机 origin 的 master 分支拉取过来,与本地的 brantest 分支合并。
git pull origin master:brantest
2.切换至某一commit版本的代码
# 查看coomit历史
git log
# 切换至commit版本,回退到指定版本
git reset 052e
六、异常处理
(一)Git登录
1.git登录
git命令登录
2.Git重置登录账户密码
git在每一个git平台,都有我们专属的账户,偶然情况下可能需要变更登录,windows操作系统下 cmd命令行Git重置登录账户密码
总结
提示:这里对文章进行总结:
例如:以上就是今天要讲的内容,本文仅仅简单介绍git的使用,想要熟练需要夺下功夫。
【Git版本控制】Git基础入门和分支管理相关推荐
- 九步学会Git版本控制的基础使用(保姆级教程)
Git版本控制的基础使用 ==一.简介.安装与配置== ==简介== ==安装== ==配置== ==二.创建项目.忽略文件== ==三.初始化仓库== ==四.检查状态== ==五.加入仓库== = ...
- Python基础入门—单分支结构
Python基础入门-单分支结构 if分支语句 if_else使用: if_elif_else的使用: if嵌套: 经典例题1: 经典例题2: if分支语句 Python中if语句的语法结构: if ...
- educoder Git入门之分支管理
第1关:创建本地分支 #创建gitTraining文件夹 mkdir gitTraining#进入gitTraining文件夹 cd gitTraining#将gitTraining初始化为一个本地仓 ...
- Git版本控制使用方法入门教程?
考虑到CVS的一些局限性,最近和同事在公司推行Git. 其实,如果推行SVN的化,可能推行的难度会降低很多.不过lark说既然推行一个新的版本管理工具,总要花费一定的时间进行培训.部署.转换. ...
- java中git版本控制,git版本控制管理是什么?git如何实现版本控制?
大家好,今天要跟大家讲的是关于git版本控制管理的一点小知识,git相信程序员小伙伴们都已经很熟悉了,很多项目开发都需要git,所以,git版本控制管理到底是干嘛的呢?Git又如何实现版本控制呢?下面 ...
- Git指令大全——基础入门(一)
git的基本使用方法(必会) 第一步: window 本机电脑安装 git 软件(只需要一次) 第二步: 配置环境变量(只需要一次) 安装到 D:\software\git\目录,把 bin 目录路径 ...
- git学习笔记(四)—— 分支管理
一.创建与合并分支 git branch //查看分支 git branch <name> //创建分支 git checkout <name> //切换分支 git chec ...
- Git复习(三)之分支管理、分支策略
创建合并删除分支 我们知道每次提交git都会将他们串成一条线,这条时间线就是一个分支.在git里这条时间线叫做主分支,即master分支 HEAD指向master,master指向最新的提交,所以,H ...
- git——学习笔记(三)分支管理
一.创建.合并分支 每次提交,git都往后走一格,串成一跳时间线,head指向的是分支,分支指向提交.master是主分支,dev是另一条分支,分支就像指针一样,合并.删除分支时,修改的都是指针,工作 ...
最新文章
- (转)I 帧和 IDR 帧的区别
- Uber开源TensorFlow框架工具箱Ludwig,无需编码即可进行深度学习开发
- 【百家稷学】卷积神经网络的前世、今生与未来(武汉工程大学技术分享)
- python保存代码_python入门(5)使用文件编辑器编写代码并保存执行
- java被放弃了_为什么学Java那么容易放弃?
- 单片机串口通信电平不匹配的解决电路,5V 3.3V串口通讯
- 过滤掉文本中的javascript标签代码
- 简单的JSON解析工具
- R、Rstudio的下载和安装教程
- 解决高德地图闪屏黑屏
- 厦门大学904数据结构与机器学习资料与辅导
- 【Pandas】Pandas求某列字符串的长度,总结经验教训
- 初谈证券交易系统开发核心
- Axure AxureRP9 密钥
- Flutter自定义背景色渐变 按钮 组件
- 无向图边数和顶点关系_离散数学中的二元关系
- minio存储类型 归档管理页面_软件定义存储,看这一篇就够了
- 边下边看 七款P2P下载软件全能大比拼
- DRL:强化学习-Q-Learning算法
- CryptoJS对密文AES解密失败
热门文章
- Python实现猜词游戏 Hangman Game(不带提示和带提示版本)
- 查询话费余额php接口,PHP代码示例_PHP账号余额查询接口 | 微米-中国领先的短信彩信接口平台服务商...
- matlab中scalar意思,scalar是什么意思_scalar的翻译_音标_读音_用法_例句_爱词霸在线词典...
- Prometheus客户端节点监控node_exporter
- 安卓学习底层开发学习方法?
- Android 带你玩转实现游戏2048 其实2048只是个普通的控件
- MySql数据库之视图(定义视图、查询视图、更新视图、视图的作用)
- 软件项目经理在面试的时候会问到哪些问题?
- RTP通话:视频流(H.264)的传输
- 第一章 1.3误差定性分析与避免误差危害