【Git】常用命令汇总

目录

一.安装及配置

1.在 Windows 上安装

2.用户信息

3.差异分析工具

二.基础

1.创建仓库

2.提交与修改

三.分支管理

1.创建分支

2.合并分支

四.远程操作

1.管理 Git 仓库中的远程仓库

2.数据的获取与推送

五.标签

1.创建轻量标签和附注标签

2.查看标签和标签信息

3.推送标签到远程仓库

4.删除标签 

一.安装及配置

1.在 Windows 上安装

msysGit 的项目提供了安装包,可以到 GitHub 的页面上下载 exe 安装文件并运行:

http://msysgit.github.com/

2.用户信息

配置个人的用户名称和电子邮件地址。

$ git config --global user.name "John Doe"
$ git config --global user.email johndoe@example.com

如果用 --global 选项,更改的是位于用户主目录下的配置文件,以后所有的项目都会默认使用这里配置的用户信息。如果要在某个特定的项目中使用其他名字或者电邮,只要去掉 --global 选项重新配置即可,新的设定保存在当前项目的 .git/config 文件里。

•查看配置信息

要检查已有的配置信息,可以使用 git config --list 命令:

$ git config --list
user.name=Scott Chacon
user.email=schacon@gmail.com
color.status=auto
color.branch=auto
color.interactive=auto
color.diff=auto
...

也可以直接查阅某个环境变量的设定,只要把特定的名字跟在后面即可。

$ git config user.name
Scott Chacon

3.差异分析工具

在解决合并冲突时使用哪种差异分析工具。比如要改用 vimdiff 的话:

$ git config --global merge.tool vimdiff

二.基础

1.创建仓库

第1种是在现存的目录下,通过导入所有文件来创建新的 Git 仓库。第2种是从已有的 Git 仓库克隆出一个新的镜像仓库来。

在工作目录中初始化新仓库

$ git init
$ git add *.c
$ git add README
$ git commit -m 'initial project version'

•从现有仓库克隆

在当前目录下创建一个名为grit的目录,其中包含一个 .git 的目录,用于保存下载下来的所有版本记录,然后从中取出最新版本的文件拷贝。如果进入这个新建的 grit 目录,你会看到项目中的所有文件已经在里边了,准备好后续的开发和使用。

$ git clone git://github.com/schacon/grit.git

如果希望在克隆的时候,自己定义要新建的项目目录名称,可以在上面的命令末尾指定新的名字:

$ git clone git://github.com/schacon/grit.git mygrit

要克隆Git仓库的指定分支

git clone -b <branch_name> --single-branch <repository_url>

2.提交与修改

•git status:查看仓库当前的状态,显示有变更的文件。

$ git status
On branch master
nothing to commit, working directory clean

•忽略某些文件

可以创建1个名为 .gitignore 的文件,列出要忽略的文件模式。来看一个实际的例子:

$ cat .gitignore
*.[oa]
*~

第1行告诉 Git 忽略所有以 .o 或 .a 结尾的文件。一般这类对象文件和存档文件都是编译过程中出现的,我们用不着跟踪它们的版本。

第2行告诉 Git 忽略所有以波浪符(~)结尾的文件,许多文本编辑软件(比如 Emacs)都用这样的文件名保存副本。

文件 .gitignore 的格式规范如下:

1. 所有空行或者以注释符号  开头的行都会被 Git 忽略

2.可以使用标准的 glob 模式匹配
3.匹配模式最后跟反斜杠(/)说明要忽略的是目录
4.要忽略指定模式以外的文件或目录,可以在模式前加上惊叹号(!)取反

再看一个 .gitignore 文件的例子:

# 忽略所有 .a 结尾的文件
*.a
# 但 lib.a 除外
!lib.a
# 仅仅忽略项目根目录下的 TODO 文件,不包括 subdir/TODO
/TODO
# 忽略 build/ 目录下的所有文件
build/
# 会忽略 doc/notes.txt 但不包括 doc/server/arch.txt
doc/*.txt
# ignore all .txt files in the doc/ directory
doc/**/*.txt

•git add . :添加文件到暂存区。

git add .gitignore

•git diff:比较文件的不同,即暂存区和工作区的差异。

•git commit:提交更新。

git commit -m [message]

[message] 可以是一些备注信息。

•git rm :删除文件。

#从暂存区和工作区中删除 1.txt 文件
git rm 1.txt 
#强制删除选项 -f
git rm -f 1.txt 

•git mv :移动或重命名一个文件、目录或软连接。

git mv [file] [newfile]

3.查看提交历史

•git log :查看历史提交记录。

git log [选项] [分支名/提交哈希]

常用的选项包括:

-p显示提交的补丁(具体更改内容)
--since=<时间>只显示指定时间之后的提交
--until=<时间>只显示指定时间之前的提交
--author=<作者>只显示特定作者的提交
--grep=<模式>只显示包含指定模式的提交消息

•git blame <file> :以列表形式查看指定文件的历史修改记录。

git blame [选项] <文件路径>

常用的选项包括:

-L <起始行号>,<结束行号>只显示指定行号范围内的代码注释
-C对于重命名或拷贝的代码行,也进行代码行溯源
-M

对于移动的代码行,也进行代码行溯源

--show-stats显示包含每个作者的行数统计信息

三.分支管理

1.创建分支

•创建新分支并切换到该分支

git checkout -b <branchname>

•切换分支命令

git checkout (branchname)

•查看分支

#查看所有分支
git branch
#查看远程分支
git branch -r
#查看所有本地和远程分支
git branch -a

2.合并分支

•将其他分支合并到当前分支。

git merge <branchname>

•解决合并冲突

当合并过程中出现冲突时,Git 会标记冲突文件,你需要手动解决冲突。

打开冲突文件,按照标记解决冲突。

标记冲突解决完成:

git add <conflict-file>
#提交合并结果
git commit

•删除分支

#删除本地分支
git branch -d <branchname>
#强制删除未合并的分支
git branch -D <branchname>
#删除远程分支
git push origin --delete <branchname>

四.远程操作

1.管理 Git 仓库中的远程仓库

•git remote :提供一些用于查看、添加、重命名和删除远程仓库的功能。

git remote列出当前仓库中已配置的远程仓库
git remote add <remote_name> <remote_url>

添加一个新的远程仓库。指定一个远程仓库的名称和 URL,将其添加到当前仓库中。

git remote rename <old_name> <new_name>将已配置的远程仓库重命名
git remote remove <remote_name>从当前仓库中删除指定的远程仓库
git remote set-url <remote_name> <new_url>修改指定远程仓库的 URL
git remote show <remote_name>显示指定远程仓库的详细信息,包括 URL 和跟踪分支
git remote -v列出当前仓库中已配置的远程仓库,并显示它们的 URL

2.数据的获取与推送

•git fetch :命令用于从远程获取代码库。

#想要提取更新的数据
git fetch [alias]
#将服务器上的任何更新(假设有人这时候推送到服务器了)合并到你的当前分支
git merge [alias]/[branch]

•git pull 命令用于从远程获取代码并合并本地的版本。其实就是 git fetch 和 git merge 的简写,先从远程仓库获取最新的提交记录,然后将这些提交记录合并到你当前的分支中。

#将远程主机 origin 的 master 分支拉取过来,与本地的 brantest 分支合并
git pull origin master:brantest
#如果远程分支是与当前分支合并,则冒号后面的部分可以省略
git pull origin master

•git push: 命令用于从将本地的分支版本上传到远程并合并。

git push <远程主机名> <本地分支名>:<远程分支名>

五.标签

下面是1个综合示例,演示如何创建、查看、推送和删除标签。

1.创建轻量标签和附注标签

git tag v1.0
git tag -a v1.1 -m "runoob.com标签"

2.查看标签和标签信息

git tag
git show v1.1

3.推送标签到远程仓库

git push origin v1.0
git push origin v1.1
git push origin --tags  # 推送所有标签

4.删除标签

#本地删除
git tag -d v1.0
#远程删除
git push origin --delete v1.0

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

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

相关文章

AWS海外注册域名是否需要实名认证?

在全球化的互联网环境中&#xff0c;注册域名已成为企业和个人建立在线存在的重要步骤。亚马逊网络服务&#xff08;AWS&#xff09;作为全球领先的云服务提供商&#xff0c;其域名注册服务也备受关注。然而&#xff0c;对于在AWS上注册海外域名是否需要实名认证&#xff0c;许…

【C++进阶篇】像传承家族宝藏一样理解C++继承

文章目录 须知 &#x1f4ac; 欢迎讨论&#xff1a;如果你在学习过程中有任何问题或想法&#xff0c;欢迎在评论区留言&#xff0c;我们一起交流学习。你的支持是我继续创作的动力&#xff01; &#x1f44d; 点赞、收藏与分享&#xff1a;觉得这篇文章对你有帮助吗&#xff1…

【大数据测试之:RabbitMQ消息列队测试-发送、接收、持久化、确认、重试、死信队列并处理消息的并发消费、负载均衡、监控等】详细教程---保姆级

RabbitMQ消息列队测试教程 一、环境准备1. 安装 RabbitMQ2. 安装 Python 依赖 二、基本消息队列中间件实现1. 消息发送模块2. 消息接收模块 三、扩展功能1. 消息持久化和队列持久化2. 消息优先级3. 死信队列&#xff08;DLQ&#xff09; 四、并发处理和负载均衡1. 使用 Python …

DAMODEL丹摩|部署FLUX.1+ComfyUI实战教程

本文仅做测评体验&#xff0c;非广告。 文章目录 1. FLUX.1简介2. 实战2. 1 创建资源2. 1 ComfyUI的部署操作2. 3 部署FLUX.1 3. 测试5. 释放资源4. 结语 1. FLUX.1简介 FLUX.1是由黑森林实验室&#xff08;Black Forest Labs&#xff09;开发的开源AI图像生成模型。它拥有12…

具体的技术和工具在县级融媒体建设3.0中有哪些应用?

以下是结合数据来看县级融媒体建设3.0的一些情况&#xff1a; 技术应用方面 大数据&#xff1a;人民网舆情数据中心执行主任董盟君提到&#xff0c;通过大数据分析可让融媒体单位快速关注聚焦点&#xff0c;实现智能策划、智能推送、智能传播&#xff0c;推动媒体传播影响力提…

中兴机顶盒B860AV1.1刷机固件升级和教程「适用4/8G版」

准备工作&#xff1a; TTL 线&#xff08;CH340G 按系统版本找到要对应驱动&#xff09;下载 putty 软件拆开电视盒接好 TTL 线&#xff08;2、5、6 针脚对应GND、RX、TX&#xff09;在资源管理器的端口选项下找到 CH340G&#xff0c;记住端口号&#xff08;如 COM4&#xff0…

论 AI(人工智能)的现状

刚直播完&#xff0c;就写篇文章&#xff0c;说说我对AI的看法。 一直以来&#xff0c;想对AI 有一个总结&#xff0c;现在AI工具层出不穷&#xff0c;但是它的本质上发展还是缓慢&#xff0c;通过其他方式来扩展本身的能力。 我认为的人工智能 只有像钢铁侠与贾维斯以及终结…

volcano k8s 部署

下载volcano-development文件 官网 https://volcano.sh/zh/docs/installation/volcano-development.yaml wget https://raw.githubusercontent.com/volcano-sh/volcano/master/installer/volcano-development.yaml部署volcano 查下需要下载的镜像 grep vc- volcano-develo…

SeggisV1.0 遥感影像分割软件【源代码】讲解

在此基础上进行二次开发&#xff0c;开发自己的软件&#xff0c;例如&#xff1a;【1】无人机及个人私有影像识别【2】离线使用【3】变化监测模型集成【4】个人私有分割模型集成等等&#xff0c;不管是您用来个人学习 还是公司研发需求&#xff0c;都相当合适&#xff0c;包您满…

Dubbo 最基础的 RPC 应用(使用 ZooKeeper)

看国内的一些项目时 Dubbo 这个词经常闪现&#xff0c;一直也不以为然&#xff0c;未作搜索&#xff0c;当然也不知道它是做什么用的。直到最近阅读关于大型网站架构相关的书中反复提到 Dubbo 后&#xff0c;觉得不能再对它视而不见。Google 了一下&#xff0c;它是在阿里巴巴创…

QINQ技术

定义 QINQ即802.1q in 802.1q&#xff0c;因为IEEE802.1Q中定义的Vlan Tag域只有12个比特&#xff0c;仅能表示4096个Vlan&#xff0c;随网络发展被用尽&#xff0c;于是在原有带vlan的数据上再携带一层vlan标签用于扩展vlan数目。一般来说外层vlan是公网&#xff0c;内层是私…

用哪两种方式来实现集合的排序?

集合&#xff08;Set&#xff09;是一种常见的数据结构&#xff0c;用于存储不重复的元素。在某些情况下&#xff0c;我们需要对集合中的元素进行排序。虽然集合本身是无序的&#xff0c;但我们可以将集合转换为其他有序的数据结构&#xff08;如列表&#xff09;来实现排序。 …

数据库与大数据管理 头歌作业 期末复习

1、 下列说法错误的是&#xff1f;c A、UserCF算法推荐的是那些和目标用户有共同兴趣爱好的其他用户所喜欢的物品 B、ItemCF算法推荐的是那些和目标用户之前喜欢的物品类似的其他物品 C、UserCF算法的推荐更偏向个性化 D、UserCF随着用户数目的增大&#xff0c;用户相似度…

在 Linux 系统中根据pid查找软件位置

在 Linux 系统中,如果您知道一个进程的 PID(进程标识符),并且想要找到该进程对应的可执行文件的位置,可以使用以下几种方法: 方法一:使用 ps 命令 ps 命令可以显示进程的详细信息,包括可执行文件的路径。假设您的 PID 是 1234,可以使用以下命令: ps -p 1234 -o co…

未成年人模式护航,保障安全健康上网

为保护未成年人的上网环境&#xff0c;预防未成年人沉迷网络&#xff0c;帮助未成年人培养积极健康的用网习惯&#xff0c;HarmonyOS SDK 提供未成年人模式功能&#xff0c;在华为设备上加强对面向未成年人的产品和服务的管理。 场景介绍&#xff08;应用跟随系统未成年人模式…

linux基础2

声明&#xff01; 学习视频来自B站up主 泷羽sec 有兴趣的师傅可以关注一下&#xff0c;如涉及侵权马上删除文章&#xff0c;笔记只是方便各位师傅的学习和探讨&#xff0c;文章所提到的网站以及内容&#xff0c;只做学习交流&#xff0c;其他均与本人以及泷羽sec团队无关&#…

如何分析 Nginx 日志

分析 Nginx 日志可以帮助我们了解服务器性能、流量来源、用户行为&#xff0c;以及诊断问题&#xff08;如错误和攻击&#xff09;。以下是详细的分析方法&#xff1a; 1. 日志类型 Nginx 有两种主要日志&#xff1a; 访问日志 (Access Log)&#xff1a;记录客户端对服务器的…

博客摘录「 【UnityEditor编辑器扩展】遍历子节点,带中断实现」2024年11月28日

Unity项目内&#xff0c;全局搜索预制体 var title ""; var progress 0; var files SearchFiles(Application.dataPath, new []{"*.prefab"}); EditorUtility.DisplayProgressBar(title, assetPath, progress / filesCount); EditorUtility.ClearProgr…

数据结构入门(C语言复习)malloc开辟free释放

/*void* malloc(size_t) 如果成功&#xff0c;会返回从堆内存上分配的内存指针 如果失败&#xff0c;会返回空指针*/ #include<stdio.h> #include<stdlib.h>//malloc要用 #include<string.h> typedef struct { int x;//如果是char x&#xff0c;内存对齐…

Git仓库迁移到远程仓库(源码、分支、提交)

单个迁移仓库 一、迁移仓库 1.准备工作 > 手动在电脑创建一个临时文件夹&#xff0c;CMD进入该目录 > 远程仓库上创建一个同名的空仓库 2.CMD命令&#xff1a;拉取旧Git仓库&#xff08;包含提交、分支、源码&#xff09; $ git clone --bare http://git.domain.cn/…