首页 > 其他分享 >Git命令使用

Git命令使用

时间:2024-04-02 14:46:40浏览次数:28  
标签:git 命令 myfile Git master 使用 txt issue1 分支

命令行

1.初始化仓库命令

git init

2.注册用户

--global代表全局
--system代表系统层
git config -- user.name "Saxon"(添加用户名)
git config -- user.email [email protected](添加邮箱)
git config -- credential.helper store(记住注册内容)

3.查看状态

git status

4.添加文件

git add .\文件

5.提交文件

git commit -m "提交注释"

6.branch分支

创建分支issue1:git branch issue1
查看所有分支:git branch


切换到XX分支:
git checkout issue1

7.合并分支

git merge 分支名

8.删除分支

git branch -d issue1

9.并行操作冲突解决

当两个分支的文件合入主线出现冲突,需要在主线上修改文件或决定版本并重新stage(add和commit操作)

10.取消刚才的合并

git reset --hard HEAD~

11.Rebase

merge:指针在主线上,分支合并进来
Rebase:指针在分支上,rebase回去

课件

# 基于以下内容创作本代码,用于讲解DevOps精讲课Git与Github章节
# https://www.bookstack.cn/read/backlog-git-tutorial/35.md
# https://www.youtube.com/watch?v=tRZGeaHPoaw&ab_channel=KevinStratvert


# 常用命令
git XXX -h # 询问git XXX是啥意思
git help XXX # 更详细的解释,打开一个本地html页面给你解释
git log --oneline # 看看我之前所有的commit历史(以简洁的形式)
git reset XXX # 回溯到某个commit上


# 事前预备
git config --global user.name "Sid Zhang"
git config --global user.email [email protected]
git init # 初始化文件夹,观察生成的隐藏文件夹,F8运行本行代码
# 创建一个myfile.txt文件
git status # 这是我们超常用的命令
git add myfile.txt # git add .可以track所有目录里文件
git commit -m "first commit" # 此时此刻,照张照片,贴在相册,可以回溯
# 画图解释目前的历史记录


# 建立分支
# 白板讲解“什么是分支?”
git branch issue1 # 建立一个名为issue1的分支
git branch # 查看所有分支,发现head还指在master
# 画图解释目前的历史记录


# 切换分支
git checkout issue1 # 切换到issue1分支,-b可以创建分支并切换,git switch是创建并切换(推荐)
# 画图解释目前的历史记录
# 修改myfile.txt文件
git add myfile.txt
git commit -m "add new content"
# 现在master落后于issue1,head指向issue1
# 画图解释目前的历史记录


# 合并分支
# 画图解释目前的历史记录
# 先切换master分支,然后把issue1分支导入到master分支
git checkout master
# 打开myfile.txt档案以确认内容,应该是旧的
git merge issue1 # 打开myfile.txt档案以确认内容,应该是新的,此时head在master上
# 画图解释目前的历史记录


# 删除分支
# 既然issue1分支的内容已经顺利地合并到master分支了,现在可以将其删除了
git branch -d issue1 # 删除了issue1分支
git branch # 检查现在只有master分支了
# 画图解释目前的历史记录


# 并行操作
# 首先创建issue2分支和issue3分支,并切换到issue2分支
git branch issue2
git branch issue3
git checkout issue2
git branch
# 画图解释目前的历史记录
# 在issue2分支的myfile.txt添加commit命令的说明后提交
git add .\myfile.txt
git commit -m "add content from issue2"
# 画图解释目前的历史记录
# 接着,切换到issue3分支
git checkout issue3
# 打开myfile.txt档案,由于在issue2分支添加了新内容,所以issue3分支的myfile.txt里没有新内容
git add myfile.txt
git commit -m "add content from issue3"
# 画图解释目前的历史记录
# 对比切换到issue2和issue3分支,给观众展示myfile.txt内容的区别


# 解决合并的冲突
# 把issue2分支和issue3分支的修改合并到master
# 切换master分支后,与issue2分支合并
git checkout master
git merge issue2 # 没有冲突,这是fast-forward合并
# 画图解释目前的历史记录
git merge issue3 # 出现冲突报警,由于在同一行进行了修改,所以产生了冲突
# 打开myfile.txt文件,处理冲突
git add myfile.txt
git commit -m "merge issue3"
# 画图解释目前的历史记录


# 用rebase合并
# 合并issue3分支的时候,使用rebase可以使提交的历史记录显得更简洁
# 现在暂时取消刚才的合并
git reset --hard HEAD~
# 画图解释目前的历史记录
# 切换到issue3分支后,对master执行rebase
git checkout issue3
git rebase master
# 和merge时的操作相同,修改在myfile.txt发生冲突的部分
# rebase的时候,修改冲突后的提交不是使用commit命令,而是执行rebase命令指定 —continue选项
# 若要取消rebase,指定 —abort选项
git add myfile.txt
git rebase --continue # 按i进入insert模式,输入comment,Esc后:wq保存并退出
# 画图解释目前的历史记录
# 这样,在master分支的issue3分支就可以fast-forward合并了,切换到master分支后执行合并
git checkout master
git merge issue3
# myfile.txt的最终内容和merge是一样的,但是历史记录如下
# 画图解释目前的历史记录






# 创建Github Repo
# 先在Github上创建一个Repo,创建完后,下面三行是自动生成的
git remote add origin https://github.com/cengxiye/learn-git-2024.git # 首先将远程仓库的地址添加到本地仓库,并将其命名为 "origin"
git branch -M main # 将当前分支(默认是master)重命名为main
git push -u origin main # 将本地的"main"分支推送到远程仓库"origin"。-u参数用于设置"origin"作为默认的远程仓库
# 以后可以直接使用git push而不需要指定远程仓库和分支。这个命令会将本地的"main"分支的内容推送到远程仓库,实现同步


# 简要介绍Github
# About,填写有关你这个Repo的信息
# Issue,提交bug和feature request,可以assign给其他人/可以加labels等等
# Actions,可以run test,测试你得代码
# Projects,可以管理你的项目
# Wiki,类似一个有关于你项目的百科
# Security,诸如代码安全扫描等
# Insights,查看项目数据
# Settings,设置你的项目
# Release,回到你Repo的主页,可以发布1.0版本你的release,你的代码被打包成zip


# PUSH
# 在main branch上,修改mytext.txt文件
git add .\myfile..txt
git commit -m "change file, to be pushed to origin"
git push
# 检查Github上的文件,已经更新


# PULL
# 在Github上修改txt
git pull
# 在本地main branch上,检查txt


# FETCH
# 在Github上修改txt
git fetch
git diff main origin/main
# git fetch:只是将远程仓库的变更下载到本地,不会自动合并到当前分支
# git pull = git fetch + git merge

# CLONE
git clone https://github.com/cengxiye/sid.github.io.git
# 适用场景:使用 git clone 通常是在开始新项目或者从头开始的时候
# 适用场景:使用 git pull 通常是在你已经有了一个本地仓库,希望获取最新变更时
# 操作对象:git clone 操作的对象是整个远程仓库
# 操作对象:git pull 操作的对象是当前分支上的远程变更
# 执行时机:git clone 只需要执行一次,创建本地仓库的拷贝
# 执行时机:git pull 需要在你想要获取远程仓库变更时执行

参考链接:

https://www.bilibili.com/video/BV1WH4y1H7zV/?spm_id_from=333.337.search-card.all.click&vd_source=0b48a4de5d48210298dd8b91fa633329
https://blog.csdn.net/qtiao/article/details/97783243

标签:git,命令,myfile,Git,master,使用,txt,issue1,分支
From: https://www.cnblogs.com/shaoSaxon/p/18110335

相关文章

  • PowerShell中调用GPU命令通常涉及到与GPU相关的任务,如查看GPU信息、管理GPU驱动、执行
    PowerShell中调用GPU命令通常涉及到与GPU相关的任务,如查看GPU信息、管理GPU驱动、执行GPU加速的计算任务等。以下是一些常见的PowerShell中调用GPU命令的示例:查看GPU信息:Get-WmiObject-Namespace"root\CIMV2"-ClassWin32_VideoController:通过WMI获取GPU信息,包括名称、制......
  • letcode的使用方法
    1.注册账号:•访问LeetCode官方网站(https://leetcode.com/)并注册一个账号,可以选择使用邮箱地址注册,也可以通过第三方账号如GitHub或Google登录。2.选择题目:•登录后,可以在主页看到各种算法题目,题目按照不同的难度级别(Easy、Medium、Hard)划分,也有按照标签(如数......
  • Python从0到100(九):Python字符串介绍及使用
    一、字符串的定义1.什么是字符串字符串是一种表示文本数据的类型。所谓字符串,就是由零个或多个字符组成的有限序列,一般记为:s=a......
  • 一步到位!快速精通Git工作流及实战技巧详解
    Git是一个分布式版本控制系统。1、git的应用场景1.备份小明负责的模块就要完成了,就在即将release之前的一瞬间,电脑突然蓝屏。硬盘光荣牺牲!几个月来的努力付之东流。场景二:代码还原这个项目中需要一个很复杂的功能,老王摸索了一个星期终于有眉目了,可是这被改得面目全非的......
  • golang中GORM使用 many2many 多对多关联查询-详细案例
    表结构和数据user表CREATETABLE`user`(`id`bigint(20)NOTNULL,`user_key`bigint(20)NOTNULL,`account`char(32)NOTNULL)ENGINE=InnoDBDEFAULTCHARSET=utf8mb4;为了测试将user_key和id写入同样的值数据:+----+----------+---------+|id|user_k......
  • SSH中私钥和公钥的使用
    在SSH(SecureShell)中,密钥对用于加密和身份验证,保证了远程会话的安全。一个密钥对包括两部分:公钥和私钥。它们有不同的作用和特性:私钥私钥是一个用户保密的密钥,它绝不能被泄露或分享给其他人。保存在用户的本地计算机上,用于SSH进行安全的认证。通常由SSH客户端软件生成并......
  • 2.6.3、awk 命令
    关注公众号“融码一生”,领取全套PDF/电子书Linux系统中还有一个功能更加强大的文本数据处理工具:awk,它诞生于20世纪70年代末期,这也许是它影响众多Linux用户的原因之一。awk是由Aho、Weingberger和Kernighan设计开发,因此这3为大师姓的首字母即为命令名。和......
  • pycharm使用jupyter
    新建输入名称选择虚拟环境,执行添加代码或文档......
  • 爬虫之xpath的使用
    一、xpath初步认识1、xpath介绍XPath(XMLPathLanguage)是一种用于在XML文档中定位节点的语言。它是一种在XML文档中导航和查询信息的语言,类似于在关系数据库中使用SQL查询数据。XPath提供了一种灵活的方式来定位和处理XML文档中的元素和属性。2、lxml的安装lxml是Pyt......
  • 腾讯云优惠券领取方法、领券页面及使用教程
    随着云计算技术的不断发展,越来越多的企业和个人选择将业务迁移到云平台上。腾讯云作为国内领先的云计算服务提供商,为用户提供了稳定、高效、安全的云服务。为了吸引用户上云,腾讯云经常推出各种优惠活动,其中就包括发放腾讯云优惠券。本文将详细介绍腾讯云优惠券的领取方法、领券......