git初学者使用教程(包含Android studio中git使用)
文章目录
- 1、登录 / 注册git账号
- 2、创建git仓库
- 3、设置git的用户名和邮箱
- 4、创建git仓库
- 5、已有仓库推送代码到远程仓库
- 6、进阶使用,命令行和Android studio软件使用
- 1. 克隆(Clone)源码仓库
- 2. 查看仓库状态(Status)
- 3. 查看提交历史(Log)
- 4. 查看当前分支(Branch)
- 5. 创建分支
- 6. 切换分支:
- 7. 分支合并
- 8. 拉取(Pull)最新代码:
- 9. 推送(Push)代码到远程仓库:
- 10. 查看远程仓库信息:
- 11. 添加远程仓库:
- 12. 查看标签
- 13. 查看文件差异
- 14. 查看所有的全局配置项目
- 15. 获取帮助信息
- 16. 取消暂存的文件
- 17. 移除文件
- 18. 回退到指定的版本
- 19. 重命名文件
参考博客
1、登录 / 注册git账号
git地址
2、创建git仓库


如:

点击创建后会出这个页面

我推荐使用这个部分命令行来设置仓库
3、设置git的用户名和邮箱
- 在想要创建git仓库的文件夹右键打开Git Bash Here(前提是安装了git)

- 输入命令(每次输入一句)
git config --global user.name "山南"
git config --global user.email "1921595872@qq.com"


3. 右键打开Git设置

- 在Git中就会出现用户信息(我电脑的Git用户是别人的,我没有修改)

4、创建git仓库
先看下git创建仓库后给我们的命令
mkdir android-pro 创建文件夹
cd android-pro 移动到该路径下
git init 初始化新的Git仓库
touch README.md 创建一个名为'README.md'的空文件
git add README.md 将新创建的'README.md'文件添加到Git仓库的暂存区,准备提交
git commit -m "first commit" 将暂存区的内容提交到Git仓库,并添加了提交信息'first commit'
git remote add origin https://gitee.com/000000000/android-pro.git 添加一个远程仓库地址
git push -u origin "master" 将本地的提交推送到远程仓库的'master'分支
首先,mkdir android-pro: 这个命令在当前的目录下创建一个名为’android-pro’的新目录

cd android-pro: 这个命令将当前的工作目录切换到刚创建的’android-pro’目录

git init: 这个命令初始化一个新的Git仓库。在’android-pro’目录下创建了一个名为’.git’的子目录,这个子目录包含了所有Git需要的数据和元数据

touch README.md: 这个命令创建一个名为’README.md’的空文件

git add README.md: 这个命令将新创建的’README.md’文件添加到Git仓库的暂存区,准备提交

git remote add origin https://gitee.com/00000000/android-pro.git: 添加一个远程仓库地址

git push -u origin "master": 这个命令将本地的提交推送到远程仓库的’master’分支。'-u'参数设置了默认的远程仓库和分支,之后的推送只需要使用git push就可以完成。


到这一步,在本地的git日志中就可以到上传的文件和备注信息了

查看日志

5、已有仓库推送代码到远程仓库
cd git仓库所在目录
git remote add origin https://gitee.com/00000000/android-pro.git
git push -u origin "master"
cd git仓库所在目录

git remote add origin https://gitee.com/00000000/android-pro.git: 添加一个远程仓库地址
git push -u origin "master": 这个命令将本地的提交推送到远程仓库的’master’分支。'-u'参数设置了默认的远程仓库和分支,之后的推送只需要使用git push就可以完成。


6、进阶使用,命令行和Android studio软件使用
1. 克隆(Clone)源码仓库
git clone <git地址>
将下载整个源码仓库到本地,并在当前目录下创建一个与远程仓库同名的目录

2. 查看仓库状态(Status)
git status
将显示当前仓库中的文件状态,包括已修改文件、未跟踪文件等。

3. 查看提交历史(Log)
git log
显示提交历史记录,包括每个提交的详细信息,如提交者、日期、提交消息等。

Android studio中操作方法

4. 查看当前分支(Branch)
git branch
将显示当前所在的分支。主分支通常以master或main命名
Android studio中操作方法

5. 创建分支
git checkout -b <新分支名字>
通过使用-b 参数并且在新分支的名字后面,可以同时创建并切换到这个新的分支

Android studio中操作方法

6. 切换分支:
使用此命令可以切换到仓库中的其他分支。例如,要切换到主分支,可以运行git checkout master或git checkout main。
git checkout <分支名>

Android studio中操作方法

7. 分支合并
将一个分支切换到另一个分支
比如:B分支合并到A分支
git checkout A 切换分支
git pull origin A 拉取远程最新代码
git merge 分支名 B分支合并到A分支
git push origin A 将合并好的部分推送到远程
举例:
我在test分支修改了test类的内容

然后提交推送

然后切换到master分支,可以看到内容没有修改

然后,输入上面的命令

就可以看到test分支中test类内容已经合并到master分支的test类了


8. 拉取(Pull)最新代码:
git pull
从远程仓库拉取最新的代码,并合并到当前分支。
我在工程中新建了一个test类,并把这个类推送到其他分支

现在master是没有test类的

现在是两个分支,我们将test代码拉到master看下


然后我从test分支拉取最新的代码,并合并到master分支

然后上传到master远程仓库

然后可以在远程仓库看到test类了

如果出现以下错误就到软件中,单击git然后选择解决冲突,保存自己需要的文件然后等待合并即可

9. 推送(Push)代码到远程仓库:
如果你想上传更改到远程仓库,需要先将这些更改推送到你本地的Git仓库,然后再从本地仓库推送到远程仓库

然后再输入命令
git push 设置了默认的远程仓库和分支,之后的推送只需要使用git push就可以git push -u origin "master 将本地的提交推送到远程仓库的'master'分支。`'-u'`参数设置了默认的远程仓库和分支


10. 查看远程仓库信息:
显示已配置的远程仓库信息,包括远程仓库的名称、URL等。
git remote -v

11. 添加远程仓库:
git remote add <远程仓库名> <URL>
使用此命令可以添加一个新的远程仓库。例如,要添加一个名为origin的远程仓库,可以运行git remote add origin

12. 查看标签
git tag

13. 查看文件差异
git diff
显示已修改文件的差异,比较当前工作区和暂存区的更改

14. 查看所有的全局配置项目
git config --list --global

15. 获取帮助信息
git 命令 -h

16. 取消暂存的文件
git reset HEAD 要移除的文件名称
git reset HEAD . #移除暂存区的所有文件

17. 移除文件
# 从 Git 仓库和工作区中同时移除 git_text.html 文件
git rm -f git_text.html# 只从 Git 仓库中移除 index.html,但保留工作区中的 index.html 文件
git rm --cached index.html

18. 回退到指定的版本
# 在一行上展示所有的提交历史
git log --pretty=oneline# 使用 git reset --hard 命令,根据指定的提交 ID(最前面那一串数) 回退到指定版本
git reset --hard <CommitID># 在旧版本中使用 git reflog --pretty=oneling 命令,查看命令操作的历史
git reflog --pretty=oneline# 再次根据最新的提交 ID,跳转到最新的版本
git reset --hard <CommitID>


19. 重命名文件
git mv 原文件名 新文件名


相关文章:
git初学者使用教程(包含Android studio中git使用)
文章目录 1、登录 / 注册git账号2、创建git仓库3、设置git的用户名和邮箱4、创建git仓库5、已有仓库推送代码到远程仓库6、进阶使用,命令行和Android studio软件使用1. 克隆(Clone)源码仓库2. 查看仓库状态(Status)3. …...
【Java】正则表达式,校验数据格式的合法性。
个人简介:Java领域新星创作者;阿里云技术博主、星级博主、专家博主;正在Java学习的路上摸爬滚打,记录学习的过程~ 个人主页:.29.的博客 学习社区:进去逛一逛~ 正则表达式 正则表达式: ①可以校…...
基于SSM的教务管理系统运行教程
文章目录 1、前期必备1.1、所需软件版本说明1.2、下载源码1.3、下载开发工具1.4、下载JDK并配置环境变量1.5、安装数据库和数据库管理工具1.6、安装配置Maven 2、将SQL文件导入到数据库2.1、新建MySQL连接2.2、新建数据库并导入SQL 3、用Eclipse运行程序3.1、导入educationalMa…...
Docker(六)、Docker-compose简单了解
Docker-compose简单了解 一、简单了解-->概述一)、官方提供的容器编排工具:Docker-compose特点:二)、Docker-compose安装三)、浅实践下四).以上步骤遇到问题及解决 一、简单了解–>概述 Docker-comp…...
互联网Java工程师面试题·Java 面试篇·第一弹
目录 1、Java 中能创建 volatile 数组吗? 2、volatile 能使得一个非原子操作变成原子操作吗? 3、volatile 修饰符的有过什么实践? 4、volatile 类型变量提供什么保证? 5、10 个线程和 2 个线程的同步代码,哪个更容…...
基于材料生成优化的BP神经网络(分类应用) - 附代码
基于材料生成优化的BP神经网络(分类应用) - 附代码 文章目录 基于材料生成优化的BP神经网络(分类应用) - 附代码1.鸢尾花iris数据介绍2.数据集整理3.材料生成优化BP神经网络3.1 BP神经网络参数设置3.2 材料生成算法应用 4.测试结果…...
tcp/ip协议和opc协议对比详解
TCP/IP协议和OPC协议是两种重要的网络协议,它们在不同的网络层级上运行,并为数据传输和通信提供了不同的功能。 TCP/IP协议(Transmission Control Protocol/Internet Protocol,传输控制协议/互联网协议)是互联网通信的…...
H3C交换机 万兆光模块可以插在千兆光口上使用吗?
环境: S6520X-24ST-SI交换机 H3C LSWM1QSTK2万兆40G堆叠线QSFP 问题描述: H3C交换机 万兆光模块可以插在千兆光口上使用吗? 答案: H3C交换机的万兆光模块(10 Gigabit Ethernet Module)通常使用的是SFP…...
安装.net framework报错“...扩展属性不一致”
Windows操作系统中安装.net framework4.8,双击安装文件直接报错“…扩展属性不一致”,最初以为是操作系统补丁没有装全或者是没有管理员权限造成的,但是打了几个补丁,同时以管理员身份运行安装文件后,依然报同样的错误…...
关系数据库-postgresql-基础
文章目录 介绍linux下安装postgresql源码安装 介绍 Postgresql官网开源的关系型数据库; linux下安装 Ubuntu下可以使用apt包管理器安装;参考地址CentOS下可以使用yum包管理器安装;OpenSuse下可以使用zypper包管理器安装;参考地址…...
39 WEB漏洞-XXEXML之利用检测绕过全解
目录 涉及案例pikachu靶场xml数据传输测试-回显、玩法、协议、引入玩法-读文件玩法-内网探针或攻击内网应用(触发漏洞地址)玩法-RCE引入外部实体dtd无回显-读取文件协议-读文件(绕过)xxe-lab靶场登陆框xml数据传输测试-检测发现CTF-Jarvis-OJ-Web-XXE安全…...
X32位汇编和X64位区别无参函数分析(一)
前言 一、X32汇编函数无参无返回分析 二、X64汇编函数无参无返回分析 总结 前言 提示:以下是个人学习总结:如有错误请大神指出来,只供学习参考,本内容使用使用VS2017开发工具:语言是C,需要一些常见的汇编指…...
数据仓库分层
原因 用空间换时间,通过大量的预处理来提升应用系统的用户体验(效率),因此数据仓库会存在大量冗余的数据。如果不分层的话,如果源业务系统的业务规则发生变化将会影响整个数据清洗过程,工作量巨大。通过数…...
华为企业AP开启IPV6包转发
现象: 华为企业AP默认关闭IPV6转发,影响是即便是桥接模式下客户端无法与IPV6网关等设备通信。 web页面无任何相关配置项。 解决: ssh或串口登录,wlan视图下执行sta-ipv6-service enable 开启即可。 <HUAWEI> system-vi…...
mysql 指定库对所有表加tenant_id
mysql 指定库里所有表加tenant_id 由于业务所需,区分公司主体,tenant_id油然而生 但库里表至少几百个,不可能一个一个去加,时间成本,人力成本都很大,所以写一个存储过程函数,对其进行一次性操作…...
uniapp 测试 app 到安卓模拟器部署方法以及常见错误解决 无废话
uniapp 测试 app 到安卓模拟器 1.1 安装安卓模拟器 https://www.yeshen.com/ 1.2 查看安装模拟器端口 右击夜神模拟器属性打开文件位置 在打开的文件夹找到 debugReport 双击运行查看运行出来的端口号 一般都是:62001 1.3 HBuilder 配置 选中项目运行运行到手机…...
Qt作业九
1、思维导图 2、作业 widget.h #ifndef WIDGET_H #define WIDGET_H#include <QWidget> #include <QTimer> #include <QTime> #include <QTimerEvent> #include <QTextToSpeech>QT_BEGIN_NAMESPACE namespace Ui { class Widget; } QT_END_NAME…...
vulkan SDK安装
文章目录 一. vulcan官网二.安装流程 一. vulcan官网 https://vulkan.lunarg.com/sdk/home#windows 二.安装流程 点击下载 双击下载的*.exe进行安装 点击下一步 点击下一步 选择安装位置,点击下一步 点击全选,选择下一步 勾选同意…...
vscode调试技巧 断言 assert
目录 调试技巧标题debug release介绍调试技巧断点 断点的意思 就是代码执行到断点处停下来,让你去调试。不管前面有多少代码,直接跳到断点处(当然前面的已经执行)逐过程 不会进入调用函数内部,不管里面怎么执行。 逐语…...
2、Kafka 生产者
3.1 生产者消息发送流程 3.1.1 发送原理 在消息发送的过程中,涉及到了两个线程——main 线程和 Sender 线程。在 main 线程 中创建了一个双端队列 RecordAccumulator。main 线程将消息发送给 RecordAccumulator, Sender 线程不断从 RecordAccumulator 中…...
JavaSec-RCE
简介 RCE(Remote Code Execution),可以分为:命令注入(Command Injection)、代码注入(Code Injection) 代码注入 1.漏洞场景:Groovy代码注入 Groovy是一种基于JVM的动态语言,语法简洁,支持闭包、动态类型和Java互操作性,…...
Prompt Tuning、P-Tuning、Prefix Tuning的区别
一、Prompt Tuning、P-Tuning、Prefix Tuning的区别 1. Prompt Tuning(提示调优) 核心思想:固定预训练模型参数,仅学习额外的连续提示向量(通常是嵌入层的一部分)。实现方式:在输入文本前添加可训练的连续向量(软提示),模型只更新这些提示参数。优势:参数量少(仅提…...
Admin.Net中的消息通信SignalR解释
定义集线器接口 IOnlineUserHub public interface IOnlineUserHub {/// 在线用户列表Task OnlineUserList(OnlineUserList context);/// 强制下线Task ForceOffline(object context);/// 发布站内消息Task PublicNotice(SysNotice context);/// 接收消息Task ReceiveMessage(…...
STM32标准库-DMA直接存储器存取
文章目录 一、DMA1.1简介1.2存储器映像1.3DMA框图1.4DMA基本结构1.5DMA请求1.6数据宽度与对齐1.7数据转运DMA1.8ADC扫描模式DMA 二、数据转运DMA2.1接线图2.2代码2.3相关API 一、DMA 1.1简介 DMA(Direct Memory Access)直接存储器存取 DMA可以提供外设…...
相机从app启动流程
一、流程框架图 二、具体流程分析 1、得到cameralist和对应的静态信息 目录如下: 重点代码分析: 启动相机前,先要通过getCameraIdList获取camera的个数以及id,然后可以通过getCameraCharacteristics获取对应id camera的capabilities(静态信息)进行一些openCamera前的…...
Java 加密常用的各种算法及其选择
在数字化时代,数据安全至关重要,Java 作为广泛应用的编程语言,提供了丰富的加密算法来保障数据的保密性、完整性和真实性。了解这些常用加密算法及其适用场景,有助于开发者在不同的业务需求中做出正确的选择。 一、对称加密算法…...
Linux-07 ubuntu 的 chrome 启动不了
文章目录 问题原因解决步骤一、卸载旧版chrome二、重新安装chorme三、启动不了,报错如下四、启动不了,解决如下 总结 问题原因 在应用中可以看到chrome,但是打不开(说明:原来的ubuntu系统出问题了,这个是备用的硬盘&a…...
ABAP设计模式之---“简单设计原则(Simple Design)”
“Simple Design”(简单设计)是软件开发中的一个重要理念,倡导以最简单的方式实现软件功能,以确保代码清晰易懂、易维护,并在项目需求变化时能够快速适应。 其核心目标是避免复杂和过度设计,遵循“让事情保…...
Linux C语言网络编程详细入门教程:如何一步步实现TCP服务端与客户端通信
文章目录 Linux C语言网络编程详细入门教程:如何一步步实现TCP服务端与客户端通信前言一、网络通信基础概念二、服务端与客户端的完整流程图解三、每一步的详细讲解和代码示例1. 创建Socket(服务端和客户端都要)2. 绑定本地地址和端口&#x…...
基于 TAPD 进行项目管理
起因 自己写了个小工具,仓库用的Github。之前在用markdown进行需求管理,现在随着功能的增加,感觉有点难以管理了,所以用TAPD这个工具进行需求、Bug管理。 操作流程 注册 TAPD,需要提供一个企业名新建一个项目&#…...
