Git常见命令行操作和IDEA图形化界面操作

设置Git用户名和标签

在安装完Git以后需要设置用户和签名,至于为什么要设置用户签名可以看一下这篇文章【学了就忘】Git基础 — 11.配置Git用户签名说明 - 简书 (jianshu.com)

基本语法:
git config --global user.name 用户名

git config --global user.email 邮箱

查看是否设置成功:
方式一:在git控制台中输入命令git ~/.gitconfig

方式二:查看用户目录小面的.gitconfig文件

配置SSH免密登录 

拉取代码管理仓库的第二种方式就是通过SSH来获取,首先点击SSH 

 

第二步去配置SSH

 

第三步,检查本地是否存在密钥,如果存在id_ras(私钥)、id_ras_pub(公钥)这两个文件则说明已经创建过了,直接拷贝即可

 

$ls ~/.ssh

如果不需要这份可以删除,注意这份密钥没有在使用,移除之后就无法恢复了,之前所使用的地方也需要使用新的:

$ rm -rf ~/.ssh/id_rsa
$ rm -rf ~/.ssh/id_rsa.pub 

创建密钥(存在密钥的可以跳过) 邮箱记得填写自己的

$ ssh-keygen -t rsa -C "youremail@example.com"

 

然后将得到的公钥文件里面的内容拷贝到上面,并点击生成

 

后面在拉取代码的时候就复制SSH链接就行

 

 

 

 

 

 

 

初始化文件

基本语法:

git init

初始化以后会在项目目录下面多一个.git文件,如果没有,需要打开隐藏目录 

Git添加本地库以及查看日志的基本命令 

查看本地库状态

基本语法:

git status

 提交一个文件以后:

添加文件到暂存区(工作目录的暂存区中)

基本语法:
git add

提交代码到本地库(形成历史版本) 

基本命令
git commit -m "日志信息" 文件名

Git版本更新

编辑并发布第二个版本:

版本切换 

查看版本信息

基本语法:
简单日志:git reflog
详细日志:git log

版本切换 

基本语法:git reset --hard 版本号

分支 

什么是分支

        在版本控制过程中,同时推进多个任务,为每个任务,我们可以创建每个任务的单独分支。使用分支意味着程序员可以把自己的工作从开发主线上分离开来,开发自己分支的时候,不会影响主分支的运行。对于初学者而言,分支可以简单理解为副本,一个分支就是一个单独的副本。(分支底层其实也是指针的引用)

查看分支

基本语法:

git branch -v

 分支前面带*号,表示当前分支

创建分支

基本语法

git branch 分支名

切换分支 

基本语法

git branch checkout 分支名

在新添加的分支下面修改代码,然后提交到该分支:

 

创建并切换分支 

基本语法:

git checkout -b 新分支名字

 

上面从图片中可以看出分支虽然建立成功了,但是没有关联上远程分支,所以在拉去或者提交的时候,控制台中都会报There is no tracking information for the current branch.

这个时候需要手动关联远程分支: git push --set-upstream origin 远程分支名字

或者是使用这种方式来关联:git push --set-upstream origin 本地分支名字:远程分支名字 

切换分支之前需要手动提交代码到暂存区或者远程分支上面,不然切换到其他分支以后,当前分支未提交的代码将会消失 

 

我们一般在协同开发的时候,有可能需要切换到别人的分支上面去看一下对方是怎么写的,这个时候我们在切换分支之前就需要先将我们的分支提交到本地或者远程,如果没有提交就切换分支:

1.会导致我们未提交的代码消失,当我们切换回来的时候看到的是我们上一次提交的代码;

 

 

2.如果选择智能切换 

 

不仅会影响到自己未提交的代码,操作不当,还会影响到你在别人分支上面看到的代码。别人分支代码是最右侧的,如果你选择了最左侧你的代码,或者是两边代码都选择了,那么你在别人的分支上面看到的代码就不是别人正确的代码。 

 

而且最要命的是如果选择了上面两种,在别人分支上面切换回来的时候又会提示代码冲突,又需要解决冲突,这个时候最好的选择就是强制切换,强制切换以后回到的是上一次提交的代码。如果选择智能切换会出现一下的问题:

注意:在别人分支上面切换回自己分支的时候千万不要去提交别人的代码 

 

 

合并分支(把指定的分支合并到当前分支上) 

正常合并(master分支没有做调整,dev/test...分支做了调整,合并到master分支上,代码没有冲突)

冲突合并(要合并的两个分支代码存在差异,Git不能确定要保留那个,需要手动合并) 

合并完分支以后记得提交代码 

删除分支 

基本语法:
删除已合并的本地分支——git branch -d 分支名字

强制删除未合并的本地分支——git branch -D 分支名字

删除远程分支——git push origin --delete 分支名字

注意:在删除分支之前需要切换到其他分支

将代码提交到本地或者远程

如果你有一次代码提交到了本地仓库,但是没有推送到远程仓库。当你下一次换另一个版本来提交时,会将你前后两次提交到本地的代码都推送到远程仓库:

这个时候如果从新拉取远程的代码,就会拉取到目前远程所展示的代码。我们还会发现,在我们后面的提交中,会看到将test.txt文件移送到test目录下面的这个变化,我们在控制台中使用git status命令的时候,也会发现之前有一个改变没有提交:

当我们将这个改变提交到远程仓库以后,远程仓库对应的代码就会被删除

 

当然我们我们想在暂存区将这个删除的动作取消,我们可以使用"git restore --staged <file>命令,使用这个命令以后不会改变本地和远程分支目前的代码状况,也就是说,远程分支上面还是会有test.txt文件,而本地分支依然没有该文件。 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/721.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

HTML学习笔记:(一)基础方法

Html格式 里面文件使用平台为&#xff1a;w3school 1、基础功能&#xff1a; <html><head> <title>这是我的第一个html页面,会显示在浏览器的标题栏中</title> </head> <!--修改背景颜色 --> <body bgcolor"yellow"> …

浅浅了解一下 LibTorch

&#x1f349; CSDN 叶庭云&#xff1a;https://yetingyun.blog.csdn.net/ LibTorch 是 PyTorch 提供的一个二进制发行版&#xff0c;包含了所有必要的头文件、库和 CMake 配置文件&#xff0c;便于开发者依赖 PyTorch 开发应用。用户可以从 PyTorch 官网下载包含最新 LibTorch…

Vitis HLS 学习笔记--scal 函数-探究

目录 1. Vitis HLS重器-Vitis_Libraries 2. 初识scal() 3. 函数具体实现 3.1 变量命名规则 3.2 t_ParEntries解释 3.3 流类型详解 3.4 双重循环 4. 总结 1. Vitis HLS重器-Vitis_Libraries 在深入探索Vitis HLS&#xff08;High-Level Synthesis&#xff09;的旅程中&…

【Leetcode】代码随想录Day16|二叉树3.0

文章目录 104 二叉树的最大深度559 n叉树的最大深度111 二叉树的最小深度222 完全二叉树的节点个数 104 二叉树的最大深度 递归法&#xff1a;无论是哪一种顺序&#xff0c;标记最大深度 class Solution(object):def depthHelper(self, root, depth):if root:depth 1left_de…

HWOD:合并整型数组

一、知识点 合并整型数组目前有两种方法 合并数组并不一定需要真正的合并 1、下意识的方法 对两个整型数组分别排序&#xff0c;然后合并 2、不排序的方法 遍历两个数组&#xff0c;找出最小值&#xff0c;输出最小值。将两个数组中与最小值相等的位置置为超大值 重复以…

VBA_MF系列技术资料1-510

MF系列VBA技术资料1-510 为了让广大学员在VBA编程中有切实可行的思路及有效的提高自己的编程技巧&#xff0c;我参考大量的资料&#xff0c;并结合自己的经验总结了这份MF系列VBA技术综合资料&#xff0c;而且开放源码&#xff08;MF04除外&#xff09;&#xff0c;其中MF01-0…

go限流、计数器固定窗口算法/计数器滑动窗口算法

go限流、计数器固定窗口算法/计数器滑动窗口算法 一、问题 问题1&#xff1a;后端接口只能支撑每10秒1w个请求&#xff0c;要怎么来保护它呢&#xff1f; 问题2&#xff1a;发短信的接口&#xff0c;不超过100次/时&#xff0c;1000次/24小时&#xff0c;要怎么实现&#xff…

豆瓣影评信息爬取 (爬虫)

代码块&#xff1a; from lxml import etree import requestsheaders{User-Agent:Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/123.0.0.0 Safari/537.36 Edg/123.0.0.0 }url_list[] for i in range(0,5):i*20urlsf"https:…

链表带环问题——leetcode环形链表1 2

证明链表带环 链表的带环问题指的是本该指向NULL的最后一个节点指向了之前的节点&#xff0c;导致链表成环&#xff0c;找不到尾结点的情况&#xff0c;那么我们该如何证明链表带环呢&#xff1f; 我们可以类比物理中的追及问题&#xff0c;让快慢指针同时走&#xff0c;两者相…

企微知识库是如何搭建的?这篇文章来解答

知识库在企业中发挥着至关重要的作用&#xff0c;它不仅能够存储和整理重要的工作资料&#xff0c;还能提高员工的工作效率&#xff0c;加强团队之间的协作。对于使用微信企业版&#xff08;企业微信&#xff09;的企业来说&#xff0c;搭建一个专门的知识库是极有必要的。本文…

ceph osd分组

一、前言 使用分组可以更好的管理osd&#xff0c;将不同类型的磁盘&#xff0c;分到不同的组中&#xff0c;例如hhd类型的osd分配到hhd组&#xff0c;ssd类型的osd分配到ssd组&#xff0c;将io要求不高的分配到hhd组做存储&#xff0c;io要求高的分配到ssd组做存储 二、配置 查…

ubuntu23.10.1 php8.2安装

1、更新镜像源 apt update2、安装php apt install php php-fpm php-mysql其他扩展包&#xff0c;在后面加个-可以查看&#xff0c;选择安装,我这里是php8.2版本 apt-get install php8.2- 2.1php与nginx结合 PHP-FPM的配置文件位于/etc/php/{PHP版本}/fpm/pool.d/www.conf;…

字体反爬知识积累2

一、os模块中函数的应用 如何获取当前文件中所有文件的路径方法 这段代码使用 os.walk()函数来遍历指定目录 imgs 下的所有子目录和文件。具体来说&#xff0c;os.walk()函数返回一个生成器&#xff0c;可以在每次迭代中获取目录树中的一个元组&#xff0c;元组包含当前目录的…

【Linux C | 多线程编程】线程同步 | 条件变量(万字详解)

&#x1f601;博客主页&#x1f601;&#xff1a;&#x1f680;https://blog.csdn.net/wkd_007&#x1f680; &#x1f911;博客内容&#x1f911;&#xff1a;&#x1f36d;嵌入式开发、Linux、C语言、C、数据结构、音视频&#x1f36d; ⏰发布时间⏰&#xff1a;2024-04-15 0…

电大搜题微信公众号:重庆开放大学学子的学习利器

在当今信息化时代&#xff0c;学习已经成为每个人不可或缺的一部分。然而&#xff0c;对于重庆开放大学的学子们来说&#xff0c;由于远程教育的特殊性&#xff0c;他们面临着更大的学习挑战。幸运的是&#xff0c;他们现在可以依靠一款强大的学习利器——电大搜题微信公众号&a…

单片机基础知识 07

一. 键盘检测 键盘分为编码键盘和非编码键盘。 编码键盘 &#xff1a;键盘上闭合键的识别由专用的硬件编码器实现&#xff0c;并产生键编码号或者键值&#xff0c;如计算机键盘。 非编码键盘&#xff1a;靠软件编程来识别。 在单片机组成的各种系统中&#xff0c;用的较多的…

Darknet框架优化介绍

一、DarkNet框架简介 1.DarkNet的简介 Darknet是一个完全使用C语言编写的人工智能框架&#xff0c;可以使用CUDA的开源框架。主要应用于图像识别领域。 它具有可移植性好&#xff0c;安装间接&#xff0c;查看源码方便等优势&#xff0c;提供了OpenCV等附加选项&#xff0c;还…

(七)Pandas时序数据 学习简要笔记 #Python #CDA学习打卡

一. 时序数据简介 1&#xff09;定义 时间序列&#xff08;time series&#xff09;&#xff0c;就是由时间构成的序列&#xff0c;它指的是在一定时间内按照时间顺序测量的某个变量的取值序列&#xff0c;比如一天内的温度会随时间而发生变化&#xff0c;或者股票的价格会随…

c语言题目之求最大公约数

题目内容&#xff1a;求最大公约数 给定两个数&#xff0c;求这两个数的最大公约数 例如&#xff1a; 输入&#xff1a;20 40 输出&#xff1a;20 什么叫最大公约数&#xff1f; 方法分析&#xff1a; 提示&#xff1a;这里我们用辗转相除法&#xff1a; 例如&#xff1a;输…

腾讯云APP备案指南:一站式完成备案手续,助您顺利上线

工信部最新通知要求所有互联网信息服务提供者完成移动互联网应用程序备案手续。腾讯云为开发者提供了简单易行的备案流程&#xff0c;本文详细解答如何在腾讯云平台完成备案&#xff0c;帮助开发者快速上线自己的APP。从验证备案域名到腾讯云审核&#xff0c;一步步指导您完成备…