没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
内容概要:本文档全面介绍了Git版本控制系统的基础理论知识,涵盖Git安装配置详解、版本库操作教程、版本回退方法、代码管理和协同工作所需的分支管理技巧及标签的运用方法。同时提供了具体的命令应用范例和技术要点。 适用人群:面向开发者,特别是初学者或希望进一步提高Git技能的研发人员及团队协作管理者。 使用场景及目标:适用于软件项目中各阶段的版本控制,旨在提升代码管理水平和个人工作效率,加强团队间协同能力。 阅读建议:本资料适合完整通读学习,并可在实践中参照相关命令进行练习,从而更好地掌握Git的各项高级功能和技术实践方法。
资源推荐
资源详情
资源评论
《Git版本控制系统》系列分享专栏
简介
由浅入深的讲解git的使用,从git的环境安装,工作结构,到git的各种操作,比如:git的版本回退,修改删除,远程仓库,以及git的优秀独特的分支管理等
文章
git常用基本命令
版本控制系统-集中式与分布式的区别
Git环境安装配置
Git工作结构
Git操作-版本回退
Git操作-修改与删除
Git操作-远程仓库
Git操作-分支管理(一)
Git操作-分支管理(二)
Git操作-分支管理(三)
Git操作-标签
git常用基本命令
分支管理
git branch:查看分支,带*的是当前分支
git branch Common:创建分支Common
git checkout Common:切换到分支Common
git checkout -b Common:创建并切换到分支Common
git merge dev:合并dev分支到当前分支Common
git branch -d dev:删除分支dev
git branch -D dev:强制删除分支dev(假如dev尚未合并,用上一条命令会删除失败,可以用这条命令强制删除)
git branch -a:查看远程仓库的分支
git push origin master:将本地的master分支推送到远程仓库
git checkout -b dev origin/dev:将远程仓库的dev分支抓取到本地
git branch --set-upstream dev origin/dev:将本地dev分支与远程origin/dev分支的链接
git push origin :dev:删除远程分支dev
git pull origin master:将远程修改的更新到本地
注:git
pull = git fetch + git merge
远程仓库
git remote add origin git@github.com:changjiang007/gitTest.git : github上的gitTest仓库与本地的gitTest关联
$ git clone git@github.com:changjiang007/iscroll.git:将github上的iscroll远程仓库克隆到本地
git remote:显示当前的远程仓库(其实现实出来的是别名,如:origin)
git remote -v :显示当前的远程仓库详细信息
git remote rename 旧远程仓库名 新远程仓库名
基本操作
git status:查看当前代码库的状态
git add file:向git库中添加file文件
git add . :向git库中添加当前master中的所有文件
git commit -m "备注":提交git add的文件,注意必须要加上备注
git push -u origin master:将提交的内容推送到远程仓库(如:github上),注:第一次提交时要加上-u,以后就可以不用加了
注:(1)(2)(3)顺序不能乱
环境配置
git config --global user.name "Your Name":配置用户名
git config --global user.email "email@example.com":配置邮箱
注:git config命令的–global参数,用了这个参数,表示你这台机器上所有的Git仓库都会使用这个配置,当然也可以对某个仓库指定不同的用户名和Email地址。 这两条配置一个
是用户名一个是邮箱地址,每次Git提交时都会引用这两条信息,说明是谁提交了更新,所以会随更新内容一起被永久纳入历史记录
git config --list:查看已有的所有配置信息
git config user.name:查看user.name的配置信息
git help:显示所有常见的命令
标签
git tag:查看所有标签
git tag v1.0:创建标签v1.0
git show v1.0:查看标签v1.0的信息
git tag -d v1.0:删除标签v1.0
git push origin v1.0 :推送本地标签v1.0到远程仓库
git push origin --tags:推送本地所有的标签到远程仓库
git push origin :refs/tags/v1.0:删除远程标签v1.0,注意:删除远程标签之前现在本地把这个标签删除
日志信息
git log:查看查看每次提交修改的记录,显示从最近到最远的提交日志
git log -p:查看提交记录并显示每次修改的diff
git log -pretty=oneline:简要列出所有提交记录日志
git log --pretty=oneline --abbrev-commit:显示所有历史提交的commit id
git show HEAD:显示当前分支的最新版本的更新细节 注:git show 与 git show HEAD的效果相同
版本回退
git reset HEAD^ :返回到上一版本,即回滚一个版本
git reset HEAD^^ 回滚两个版本,依此类推
git reset --hard "commit id":回退后再返回新版本,commit
id为新版本的commit id
git
reflog:显示所有的命令历史记录
git
reset HEAD filename:把暂存区的修改撤销掉
git
checkout --file:丢弃文件file在工作区的修改
隐藏工作现场
git stash :把当前工作现场(当前分支的工作)“储藏”起来
git
stash list:查看隐藏的工作现场
git stash apply:恢复工作现场
git stash drop:删除stash内容
git stash pop:表示恢复的同时把stash内容也删除了,可以代替前两条命令
其他
git rm filename:将文件从版本库中删除,然后再git commit,这样就从版本库中删除成功
ssh-keygen -t rsa -C "youremail@example.com" :创建ssh key
版本控制系统-集中式与分布式的区别
SVN和CVS都是集中式版本控制系统,而Git是分布式版本控制系统
集中式版本控制系统
版本库是集中存放在中央服务器的,而干活的时候,用的都是自己的电脑,所以要先从中央服务器取得最新的版本,然后开始干活,干完活了,再把自己的活推送给中央服务器
。
集中式版本控制系统最大的毛病就是必须联网才能工作,如果在局域网内还好,带宽够大,速度够快,可如果在互联网上,遇到网速慢的话,可能提交一个10M的文件就需要5分
钟
分布式版本控制系统
分布式版本控制系统没有“中央服务器”,每个人的电脑上都是一个完整的版本库,这样,你工作的时候,就不需要联网了,因为版本库就在你自己的电脑上。既然每个人电脑上都
有一个完整的版本库,那多个人如何协作呢?比方说你在自己电脑上改了文件A,你的同事也在他的电脑上改了文件A,这时,你们俩之间只需把各自的修改推送给对方,就可以
互相看到对方的修改了。
和集中式版本控制系统相比,分布式版本控制系统的安全性要高很多,因为每个人电脑里都有完整的版本库,某一个人的电脑坏掉了不要紧,随便从其他人那里复制一个就可以
了。而集中式版本控制系统的中央服务器要是出了问题,所有人都没法干活了。
在实际使用分布式版本控制系统的时候,其实很少在两人之间的电脑上推送版本库的修改,因为可能你们俩不在一个局域网内,两台电脑互相访问不了,也可能今天你的同事病
了,他的电脑压根没有开机。因此,分布式版本控制系统通常也有一台充当“中央服务器”的电脑,但这个服务器的作用仅仅是用来方便“交换”大家的修改,没有它大家也一样干活
,只是交换修改不方便而已。
Git环境安装配置
我们这里只要讲的Git安装环境主要针对Windows(因为条件限制),等以后有机会了再把Linux和Mac上的补充上。
安装
在Windows上安装Git,需要首先下载msysgit,msysgit是Windows版的Git,可以从http://msysgit.github.io/,然后直接安装即可。
安装完成后,在开始菜单里找到“Git”->“Git Bash”,蹦出一个类似命令行窗口的东西,就说明Git安装成功!
配置
安装完成后还需要配置一下自己的git工作环境,配置工作只需要一次,以后就算是升级也会沿用现在的配置,在命令行中输入一下两行命令:
$ git config --global user.name "Your Name"
$ git config --global user.email "email@example.com"
注意git config命令的–global参数,用了这个参数,表示你这台机器上所有的Git仓库都会使用这个配置,当然也可以对某个仓库指定不同的用户名和Email地址。
这两条配置一个是用户名一个是邮箱地址,每次Git提交时都会引用这两条信息,说明是谁提交了更新,所以会随更新内容一起被永久纳入历史记录
查看配置
要检查已有的配置信息,可以使用
git config --list
命令:
也可以直接查阅某个环境变量的设定,只要把特定的名字跟在后面即可,像这样:
剩余31页未读,继续阅读
资源评论
天涯学馆
- 粉丝: 2627
- 资源: 436
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 基于二阶自抗扰ADRC的轨迹跟踪控制,对车辆的不确定性和外界干扰具有一定抗干扰性,基于carsim和simulink仿真 跟踪轨迹为双移线,效果良好,有对应复现资料,是学习自抗扰技术快速入门很好的资料
- 基于python的网页自动化工具项目全套技术资料100%好用.zip
- MATLAB【逆变器二次调频模型】 微电网分布式电源逆变器DROOP控制二次调频模型,加入二次控制实现二次调频控制,及二次调压控制,程序可实现上图功能,工况有所改变 需要matlab2021A版
- 抢购软件:快速复制信息
- 单机无穷大系统发生各类(三相短路,单相接地,两相接地,两相相间短路)等短路故障,各类(单相断线,两相断线,三相断线)等断线故障,暂态稳定仿真分析
- 微信文章爬虫项目全套技术资料100%好用.zip
- 基于动态窗口算法的AGV仿真避障 可设置起点目标点,设置地图,设置移动障碍物起始点目标点,未知静态障碍物 动态窗口方法(DynamicWindowApproach) 是一种可以实现实时避障的局部规划算
- Power Quality Disturbance:基于MATLAB Simulink的各种电能质量扰动仿真模型,包括配电线路故障、感应电机启动、变压器励磁、单相 三相非线性负载等模型,可用于模拟各种
- 数据爬虫项目全套技术资料100%好用.zip
- 聊天系统项目全套技术资料100%好用.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功