一,Git介绍

Git是C语言写的一个分布式版本控制系统

代码不仅要备份到本地,还要备份到云端

Git和SVN对比

SVN是集中式版本控制系统,版本库是集中放在中央服务器的,而开发人员工作的时候,用的都是自己的电脑,所以首先要从中央服务器下载最新的版本,然后开发,开发完后,需要把自己开发的代码提交到中央服务器。

如果服务器单点故障

将会导致所有人无法工作,而服务器硬盘损坏,可能会失去了项目的所有记录。

Git分为两种各类型的仓库:本地厂库和远程仓库

每一个客户端都保存了完整的历史记录

服务器的故障,都可以通过客户端的记录得以恢复

二,Git下载和安装

下载网址:Git - Downloads (git-scm.com)

安装就是一直下一步即可。

安装完成之后在电脑桌面(也可以是其他目录)点击右键,如果能看到下面连个菜单说明git安装成功。

Git GUI :Git提供的图形界面工具

Git Bash :Git提供的命令行工具

三,Git操作入门

1,git本地仓库原理

2, Git常用命令

命令 说明
git init

初始化,创建git仓库

git status 查看git状态(文件是否进行了添加,提交操作)
git add 添加,将指定文件添加到暂存区
git commit 提交,将暂存区文件提交到历史仓库
git log 查看日志(git提交的历史记录)

3,Git基本工作流程

步骤:

1,常见工作目录,初始化本地git仓库

2,新建一个test.txt文件(暂不执行添加操作)

3,使用status命令,产看状态

4,使用add命令添加,并查看状态

5,使用commit命令,提交到本地历史仓库

6,使用log命令,查看日志

7,修改test.txt文件

8,添加并提交,查看日志

四,Git版本管理

1,历史版本切换

查看日志:git  reflog :可以查看所有分支的所有操作记录(包括被删除的commit记录的操作)

将代码切换到,其他版本

命令:git  reset  --hard  版本唯一索引值

2,分支管理介绍

分支:由每次提交的代码啊,串成一条时间线

两条时间线,并行工作,互不打扰,多条时间线可以合并

使用分支意味着你可以把你的工作从开发主线上分离开来,以免影响开发主线

3,分支工作流程

master为主分支

默认Head是指向主分支的,如果有新的分支,可以使用命令改变Head的指向

创建和切换

创建命令:git  branch  分支名

切换命令: git  checkout  分支名

查看文件命令:ls

查看分支列表:

命令:git  branch

总结:不同分支之间的关系是平行的关系,不会相互影响

4,分支管理操作

合并分支

命令:git  merge  分支名

删除分支

命令:git  branch -d  分支名

五,远程仓库

情况1:先有本地仓库,远程仓库为空

步骤:

1,创建远程仓库

2,将项目从本地仓库,推动到远程仓库

推送代码之前,需要先配置SSH公钥

命令:

git  config  user.name(查看git账户)

git config  user.email(查看git邮箱)

git config --global user.name "账户名"   --global:表示这台机器上所有的Git仓库都会使用这个配置

git  config --global user.email "邮箱"(设置全局账户和邮箱)

生成SSH公钥步骤

设置Git账户

生成SSH公钥

命令:

ssh-keygen -t  rsa -C "邮箱"

注意:这里需要敲三次回车

查看命令

cat ~/.ssh/id_rsa.pub

当将公钥在远程仓库设置完成之后,可以在本地仓库测试

命令:ssh -T@gitee.com

出席那successfully表示成功

推送到远程仓库

步骤:为远程仓库的URL(网址),之定义仓库名称

推送

命令:git  remote add 远程名称  远程仓库URL

将远程仓库和本地仓库建立联系,远程名称是自己设置的这个联系的名称

git  remote  查看所有关联的远程仓库,以简单别名表示

git  remote  -v  查看所有关联的远程仓库,别名和地址等信息

git   push  -u  仓库名称  分支名

情况2,先有远程仓库,本地仓库为空

步骤:

1,将远程仓库的代码,克隆到本地仓库

git  clong  仓库地址

2,创建新文件,添加并提交到本地仓库

3,推送至远程仓库

4,项目拉取更新

git  pull 远程仓库名  分支名

代码冲突

1,修改冲突行,保存,即可解决冲突

2,重新add冲突文件并commit到本地仓库,重新push到远程

Git和Idea中Git的使用相关推荐

  1. eclipse查看代码git历史_Eclipse中GIT历史版本比较和回退

    Eclipse中GIT历史版本比较和回退 我们开发的时候,经常会遇到业务变化或者代码实现逻辑改变,有时候需要参考或者回退历史版本,我们看看eclispe里如何操作? 查看主分支历史版本 右击代码文件- ...

  2. idea怎么拉不同的git分支_idea中git分支、合并与使用

    你可以运行你的测试,确保你的修改是正确的,然后提交代码到远程仓库,提交到远程仓库的操作与刚才提交iss53操作一样. 当hotfix这个紧急问题的分支开发完成后,将其合并回你的 master 分支来部 ...

  3. g-git 相关命令 及其 基本原理探索(二):git 在工作中的常用命令操作 ,超级实用!!!

    上一篇git 基本原理对git的使用以及文件分布已经有了一个整体的了解. 本篇将对工作中常用的一些git 操作命令的操作进行总结归纳,方便今后查阅. 文章目录 1. 分离头指针 2. 通过HEAD 来 ...

  4. 收藏!工作中Git使用实践和常用命令流程合集

    来自:匠心Java 工作中git是一项必不可少的技能,在项目的开发进程中起着至关重要的作用 下面介绍一些git在工作中的一些使用实践.常用流程.常用命令,供大家参考! 一:前言 Git的定义是:分布式 ...

  5. git 只merge部分_[Skill]俩小时掌握多人开发中git的主要用法

    前言 几个月前看完了git文档,但是在实际开发中对很多git命令的具体影响仍有疑惑,比方说pull.fetch和rebase三个命令和检出位置拎不清. Git - Book​git-scm.com 安 ...

  6. git在项目中的实际运用

    项目中只运用git版本管理的情况下: 1.创建分支命令: git branch (branchname) 切换分支命令: git checkout (branchname) 当你切换分支的时候,Git ...

  7. 警告:push.default未设置;它的隐含值在Git 2.0中发生了变化

    本文翻译自:Warning: push.default is unset; its implicit value is changing in Git 2.0 I've been using Git ...

  8. 如何仅从git存储库中稀疏签出单个文件?

    如何从git仓库中检出一个文件? #1楼 git checkout branch_or_version-路径/文件 示例: git checkout HEAD -- main.c #2楼 如果您已经有 ...

  9. 如何列出Git 1.7+中的所有远程分支?

    我已经尝试了git branch -r ,但是只列出了我在本地跟踪的远程分支. 如何找到我还没有的人的名单? (对我而言,命令列出所有远程分支还是仅列出未跟踪的分支都无关紧要.) #1楼 但 git ...

最新文章

  1. ASP.NET中用healthMonitor属性用
  2. 适用于SQL Server生产环境DBA的七大技巧
  3. 埃尔米特插值(等距节点,只用一个点的导数构造n+1阶Hermite多项式)Python实现
  4. mysql通过局域网访问数据库_MySQL数据库之局域网内访问同一个mysql数据库
  5. layui radio 赋初始值
  6. c语言谭浩强第八章函数PPT,清华谭浩强C语言 第8章 函数.ppt
  7. 青花瓷音乐的单片机c语言程序,单片机蜂鸣器演奏青花瓷的程序
  8. 地理加权回归GWR4.0软件下载与使用
  9. Android WebView基本使用
  10. 计算机维修不是事儿光盘视频,硬盘维修及数据恢复不是事儿配套光盘视频教程...
  11. 视频 | 皖南川藏线自驾游
  12. CC2530 + RFX2401C Zigbee模块
  13. 资本市场+金融科技,广州试点能否擦出新火花?
  14. Excel 和 python 使用梯度下降法分别求【极小值点】【线性回归问题】
  15. binlog实时同步
  16. 据说是新浪乐居的面试题及我的答案
  17. IDEA断点无效问题解决办法
  18. 个人工作总结与业绩报告
  19. hazelcast java_Hazelcast: Java分布式内存网格框架(平台)
  20. java初级程序员考试真题_一份Java基础知识笔试题附答案

热门文章

  1. 路由器中的静态路由设置
  2. HDU6681 Rikka with Cake
  3. jsp 引用配置 ueditor富文本编辑器
  4. Java实现鲜花销售系统
  5. ESP32C3 build-in USB JTAG调试 Failed to run flasher stub (-4) workaround解决,[最新20211104乐鑫已经修正]
  6. 解决三星笔记本电脑合上盖子无法被唤醒
  7. 开发者必知的KPI概念和用法
  8. 安泰:功率放大器在超声谐振谱技术压电材料研究中的应用
  9. python base64和图片转换
  10. “京津冀大数据走廊”聚集效应初显有待规划引领