IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发工具 -> git基本使用 -> 正文阅读

[开发工具]git基本使用

git是代码版本的管理工具,git是分布式的版本控制工具

git的工作机制

四个区域

  • 工作区 :代码在本地存储的目录位置
  • 暂存区 :git可以追踪的代码(工作区可以将代码添加到暂存区(add))——临时存储
  • 本地库 :暂存区的代码可以提交到本地库(commit),并生成对应的版本 ——生成历史版本
  • 远程库:(远程库:如github)本地区的代码可以提交到远程库(push),并生成对应的版本 ——存储在远端

只有在本地库和远程库才有版本控制
后一个版本是基于前一个版本的,所以1和3版本之间

git基础命令

  • 用户签名
    git config --global user.name 用户名 设置用户签名
    git config --global user.email 邮箱 设置用户签名
    这两条命令是为了表示身份,当你提交代码到远程库的时候可以表示你的身份
  • 初始化
    git init 使本地库关联git(生成.git文件)
    git status 查看本地库的git状态,(当前分支,commit,wait commit)
  • add
    git add 文件名 将修改的文件添加到暂存区
    git rm --catched 文件名 将文件从暂存区删除
    git add . 添加所有修改的文件到暂存区
  • commit
    git commit -m "本次版本描述信息" 文件名 提交代码到本地库,生成相应的版本号
  • 日志
    git reflog 查看版本的信息
    git log查看版本的详细信息
  • 版本穿梭,重置到之前的版本
    git reset --hard 要重置到的版本号
    (git log可以获取版本号)
    版本不仅可以向前穿越,也可以向后穿越

git的分支

不同的分支上存储着不同的代码。
分支存在的意义:线上代码的运行需要维护,维护的过程需要程序员进行代码的改和编写,这种时候不可能将停止线上的运行的代码以供程序员开发。一般是线上产品放在一个分支(多为master分支),程序员则在其他分支开发,当一版产品修改好之后再将开发好后的分支代码合并到master分支上。

远端分支和本地分支

  • 分支分为远端分支和本地分支,一般是一一对应的方便进行开发。
    即如果远端有一个分支yang,本地就会有一个分支yang。
  • master分支是主分支,所有分支的开发一般最终都会合并到主分支中(merge)
    在这里插入图片描述

工作区分支显示

本地的分支代码可以在编译器中查看,一般head指针指向那个分支,改编译器就显示的是哪个分支的代码
在这里插入图片描述

分支命令

  • git branch 分支名 :创建分支
  • git branch -v :查看分支
  • git checkout 分支名:切换分支
  • git checkout -b 分支名: 创建并切换到该分支
  • git merge 分支名:把指定分支合并到当前分支上

冲突合并

当两个分支合并的时候可能产生冲突。
冲突产生的原因:
合并分支时,两个分支在同一个文件的同一个位置有两套完全不同的修改。Git无法替我们决定使用哪一个。必须人为决定新代码内容。
在这里插入图片描述

当出现冲突的时候,需要:

  • 手动解决冲突
  • 添加文件到暂存区: git add .
  • 执行提交: git commit -m “提示信息”

推送和拉取

要建立本地库和远程库的代码联系需要通过推送 (push) 和克隆(clone)拉取 (pull) 命令。

  • git push 远程库地址 分支名:推送 (精确到分支)
    (注意这里的push命令只是推送到同名分支中,而且也建议这样做。但是如果想推送到不同名分支中,可以git push 远程库地址 本地分支名:远程分支名
  • git pull 远程库地址 分支名:拉取最新代码 (精确到分支)
  • git clone 远程库地址:克隆代码
    clone会做如下操作:1. 拉取代码。2. 初始化本地仓库。3. 创建别名(origin)

这里的远程地址都是http的地址。

创建别名

当需要克隆的宣称仓库的地址太长的时候,我们可以为其创建一个别名方便下次拉取。
git remote -v:查看当前所有远程地址别名
git remote add 别名 远程地址:将远程地址添加为别名
创建完别名后当克隆、拉去和提交都可以使用该别名。

补充:ssh免密登陆协议

ssh免密登陆协议需要在用户名下生成.ssh文件。
生成方法:在需要生成的目录下,右键Git Bash Here,输入命令: ssh-keygen -t rsa -C 邮箱地址
-t rsa :是加密算法
-C 邮箱地址:描述信息,当前面目登陆协议是为谁准备的。

生成的.ssh文件夹有公钥和私钥,将公钥进行复制,复制到远程仓库中(不同的仓库位置可能不一样,可以自行查找)

赋值代码的时候远程仓库一般为我们提供两个地址:https地址和ssh地址,之前的克隆都是利用https的地址,如果使用ssh免密登陆之后就可以使用ssh地址进行代码的克隆。

IDE工具使用git

忽略文件

项目提交的时候需要屏蔽一些文件的提交。这些文件一般是与项目的实际功能无关,不参与服务器上部署运行。把它们忽略掉能够屏蔽IDE工具之间的差异。

如何忽略这些文件?
创建忽略规则文件 XXXX.ignore
酱醋是要忽略的文件名写到该文件中即可

  开发工具 最新文章
Postman接口测试之Mock快速入门
ASCII码空格替换查表_最全ASCII码对照表0-2
如何使用 ssh 建立 socks 代理
Typora配合PicGo阿里云图床配置
SoapUI、Jmeter、Postman三种接口测试工具的
github用相对路径显示图片_GitHub 中 readm
Windows编译g2o及其g2o viewer
解决jupyter notebook无法连接/ jupyter连接
Git恢复到之前版本
VScode常用快捷键
上一篇文章      下一篇文章      查看所有文章
加:2022-09-13 11:38:53  更:2022-09-13 11:39:02 
 
开发: 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 22:33:07-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码