git新手指南——git相关命令

这篇具有很好参考价值的文章主要介绍了git新手指南——git相关命令。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Git

git命令行
git 查看、切换用户

查看用户名:git config user.name

查看用户邮箱:git config user.email

修改用户名:git config --global user.name "Your_username"

修改用户邮箱:git config --global user.email "Your_email"

git init

通过git init命令把这个目录变成Git可以管理的仓库

git add

用命令git add告诉Git,把文件/文件的修改添加到仓库

git add . 添加该目录下得所有文件

git commit -m

用命令git commit告诉Git,把文件提交到仓库

git status

git status命令可以让我们时刻掌握仓库当前的状态

git diff

git diff顾名思义就是查看difference

git log

git log命令显示从最近到最远的提交日志

如果嫌输出信息太多,看得眼花缭乱的,可以试试加上--pretty=oneline参数

git log --pretty=oneline

git reset

我们要把当前版本回退到上一个版本,就可以使用git reset命令git reset --hard HEAD^

HEAD^

在Git中,用HEAD表示当前版本,上一个版本就是HEAD^,上上一个版本就是HEAD^^,当然往上100个版本写100个^比较容易数不过来,所以写成HEAD~100

git reflog

要重返未来,用git reflog查看命令历史,以便确定要回到未来的哪个版本

在Git中,总是有后悔药可以吃的。当你用$ git reset --hard HEAD^回退到上个版本后,再想恢复到之后的版本,就必须找到想要版本的commit id。Git提供了一个命令git reflog用来记录你的每一次命令

git checkout –
1.丢弃工作区的修改

git checkout -- file可以丢弃工作区的修改

命令git checkout -- readme.txt意思就是,把readme.txt文件在工作区的修改全部撤销,这里有两种情况:

一种是readme.txt自修改后还没有被放到暂存区,现在,撤销修改就回到和版本库一模一样的状态;

一种是readme.txt已经添加到暂存区后,又作了修改,现在,撤销修改就回到添加到暂存区后的状态。

总之,就是让这个文件回到最近一次git commitgit add时的状态。

场景1:当你改乱了工作区某个文件的内容,想直接丢弃工作区的修改时,用命令git checkout -- file

场景2:当你不但改乱了工作区某个文件的内容,还添加到了暂存区时,想丢弃修改,分两步,第一步用命令git reset HEAD <file>,就回到了场景1,第二步按场景1操作。

2.“一键还原”

git checkout -- file其实是用版本库里的版本替换工作区的版本,无论工作区是修改还是删除,都可以“一键还原”。

你通常直接在把没用的文件删了,这个时候,Git知道你删除了文件,因此,工作区和版本库就不一致了,git status命令会立刻告诉你哪些文件被删除了

现在你有两个选择,一是确实要从版本库中删除该文件,那就用命令git rm删掉,并且git commit

另一种情况是删错了,因为版本库里还有呢,所以可以很轻松地把误删的文件恢复到最新版本git checkout -- test.txt

SSH加密

第1步:创建SSH Key。在用户主目录下,看看有没有.ssh目录,如果有,再看看这个目录下有没有id_rsaid_rsa.pub这两个文件,如果已经有了,可直接跳到下一步。如果没有,打开Shell(Windows下打开Git Bash),创建SSH Key:

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

你需要把邮件地址换成你自己的邮件地址,然后一路回车,使用默认值即可,由于这个Key也不是用于军事目的,所以也无需设置密码。

如果一切顺利的话,可以在用户主目录里找到.ssh目录,里面有id_rsaid_rsa.pub两个文件,这两个就是SSH Key的秘钥对,id_rsa是私钥,不能泄露出去,id_rsa.pub是公钥,可以放心地告诉任何人。

第2步:登陆GitHub,打开“Account settings”,“SSH Keys”页面:

然后,点“Add SSH Key”,填上任意Title,在Key文本框里粘贴id_rsa.pub文件的内容

SSH警告

当你第一次使用Git的clone或者push命令连接GitHub时,会得到一个警告:

The authenticity of host 'github.com (xx.xx.xx.xx)' can't be established.
RSA key fingerprint is xx.xx.xx.xx.xx.
Are you sure you want to continue connecting (yes/no)?

这是因为Git使用SSH连接,而SSH连接在第一次验证GitHub服务器的Key时,需要你确认GitHub的Key的指纹信息是否真的来自GitHub的服务器,输入yes回车即可。

关联远程仓库

把一个已有的本地仓库与hithub仓库关联

git remote add origin SSH地址

git remote add origin git@github.com:michaelliao/learngit.git
git push

git push origin master

把本地库的内容推送到远程,用git push命令,实际上是把当前分支master推送到远程。

git push -u origin master

第一次推送master分支时,加上了-u参数,Git不但会把本地的master分支内容推送的远程新的master分支,还会把本地的master分支和远程的master分支关联起来,在以后的推送或者拉取时就可以简化命令。

git clone

要克隆一个仓库,首先必须知道仓库的地址,然后使用git clone命令克隆。

分支管理
切换分支
git switch

git switch -c dev创建并切换到新的dev分支

git switch master直接切换到已有的master分支

git checkout(旧版)

git checkout -b dev

git checkout命令加上-b参数表示创建并切换,相当于以下两条命令

创建分支
git branch dev

切换分支
git checkout dev

git branch

git branch命令会列出所有分支,当前分支前面会标一个*号。

git branch -d dev删除dev分支

git branch -D <name>强行删除。

git merge

git merge命令用于合并指定分支到当前分支。

git merge dev将dev分支合并到当前分支

git merge --no-ff

强制禁用Fast forward模式,Git会在merge时生成一个新的commit,这样,从分支历史上就可以看出分支信息

git merge --no-ff -m "merge with no-ff" dev合并要创建一个新的commit,所以加上-m参数,把commit描述写进去。

git rebase
  • rebase操作可以把本地未push的分叉提交历史整理成直线;
  • rebase的目的是使得我们在查看历史提交的变化时更容易,因为分叉的提交需要三方对比。
git stash

Git提供了一个stash功能,可以把当前工作现场“储藏”起来,等以后恢复现场后继续工作

git stash list查看stash存储的分支,但是需要恢复一下,有两个办法:

一是用git stash apply恢复,但是恢复后,stash内容并不删除,你需要用git stash drop来删除;

另一种方式是用git stash pop,恢复的同时把stash内容也删了

$ git stash pop
On branch dev

你可以多次stash,恢复的时候,先用git stash list查看,然后恢复指定的stash,用命令:

$ git stash apply stash@{0}
cherry-pick

Git专门提供了一个cherry-pick命令,让我们能复制一个特定的提交到当前分支

Bug分支

修复bug时,我们会通过创建新的bug分支进行修复,然后合并,最后删除;

当手头工作没有完成时,先把工作现场git stash一下,然后去修复bug,修复后,再git stash pop,回到工作现场;

在master分支上修复的bug,想要合并到当前dev分支,可以用git cherry-pick <commit>命令,把bug提交的修改“复制”到当前分支,避免重复劳动。

多人协作
git remote

查看远程库的信息

git remote -v

显示远程库更详细的信息

推送分支

推送时,要指定本地分支,这样,Git就会把该分支推送到远程库对应的远程分支上:

$ git push origin master

如果要推送其他分支,比如dev,就改成:

$ git push origin dev
git pull

推送失败,远程分支的最新提交和你试图推送的提交有冲突,解决办法也很简单,Git已经提示我们,先用git pull把最新的提交从origin/dev抓下来,然后,在本地合并,解决冲突,再推送

协作模式

多人协作的工作模式通常是这样:

  1. 首先,可以试图用git push origin <branch-name>推送自己的修改;
  2. 如果推送失败,则因为远程分支比你的本地更新,需要先用git pull试图合并;
  3. 如果合并有冲突,则解决冲突,并在本地提交;
  4. 没有冲突或者解决掉冲突后,再用git push origin <branch-name>推送就能成功!

如果git pull提示no tracking information,则说明本地分支和远程分支的链接关系没有创建,用命令git branch --set-upstream-to <branch-name> origin/<branch-name>

这就是多人协作的工作模式,一旦熟悉了,就非常简单。文章来源地址https://www.toymoban.com/news/detail-703803.html

到了这里,关于git新手指南——git相关命令的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Linux系统新手指南

    Linux是一种开源操作系统,由于其高度的可定制性和安全性而备受欢迎。然而,对于初学者来说,掌握Linux的各种命令、配置文件和工具可能会感到有些困难。本文将提供Linux初学者一些指南和提示,帮助他们快速了解Linux系统。 一、基础知识 内核:Linux操作系统的核心部分,

    2024年02月06日
    浏览(46)
  • 数据结构入门指南:链表(新手避坑指南)

    目录 前言 1.链表 1.1链表的概念  1.2链表的分类 1.2.1单向或双向 1.2.2.带头或者不带头 1.2.33. 循环或者非循环 1.3链表的实现  定义链表 总结         前边我们学习了顺序表,顺序表是数据结构中最简单的一种线性数据结构,今天我们来学习链表,难度相较于顺序表会大幅增

    2024年02月15日
    浏览(56)
  • PyCharm新手入门指南

    安装好Pycharm后,就可以开始编写第一个函数:Hello World啦~我们就先来学习一些基本的操作,主要包含新建Python文件,运行代码,查看结果等等。 文章主要包含五个部分: 一、界面介绍 主要分为菜单栏、项目目录、编辑区域、终端区和运行/调试代码区域。 1、菜单栏:一些新

    2024年02月13日
    浏览(55)
  • Midjourney新手入门指南

    我们来看一下百度百科的回复 是不是有点蒙,没关系,一句话概括:用描述来生成图像的AI工具。 你可能又有一门了,discord是什么?为什么要下载它?我们来看看百度百科 原因:Midjouney 没有自己的客户端,它是搭载在Discord上。 Discord 简单来说,就是一个聊天应用。

    2024年02月10日
    浏览(73)
  • Langchain 新手完全指南

    Langchain 可能是目前在 AI 领域中最热门的事物之一,仅次于向量数据库。 它是一个框架,用于在大型语言模型上开发应用程序,例如 GPT、LLama、Hugging Face 模型等。 它最初是一个 Python 包,但现在也有一个 TypeScript 版本,在功能上逐渐赶上,并且还有一个刚刚开始的 Ruby 版本。

    2024年02月16日
    浏览(46)
  • 新手小白的AI训练指南

    Python是一种非常流行的编程语言,也是许多开发人员用于开发和训练人工智能(AI)算法的首选语言。Python的简单性和易于使用的语法,使得开发人员可以更快地构建AI应用程序,而不必花费太多精力学习新技能。 如果你也想开始学习如何利用Python构建AI应用程序,那么本篇入

    2024年02月07日
    浏览(56)
  • 初探KVM虚拟化技术:新手指南

    虚拟化是指对资源的逻辑抽象、隔离、再分配、管理的一个过程,通常对虚拟化的理解有广义狭义之分。广义包括平台虚拟化、应用程序虚拟化、存储虚拟化、网络虚拟化、设备虚拟化等等。狭义的虚拟化专门指计算机上模拟运行多个操作系统平台。 虚拟化的目的是通过对硬

    2024年02月16日
    浏览(43)
  • 新手指南:Postman 旧版本(历史版本)下载

    随着技术的不断发展,有时候我们发现自己需要退回到使用  Postman  某个以往的版本。这篇文章旨在指导你如何安全地移除当前版本的 Postman、查找并获取旧版本。 从你的系统中移除 Postman 为了确保旧版本的  Postman  可以无障碍地安装,首先得从你的系统中彻底移除当前的

    2024年02月20日
    浏览(47)
  • 【ai绘画】全网最全Midjourney新手指南!!!

    手把手教你入门绘图超强的AI绘画程序Midjourney,用户只需要输入一段图片的文字描述,即可生成精美的绘画。下面是Midjourney注册和使用的方法。给大家带来了全新保姆级教程资料包 Midjourney 是除 Disco Difussion 和 Dall·E 2 之外又一个比较优秀的 AI 图像生成器,它综合能力全面,

    2024年01月21日
    浏览(57)
  • C# | 上位机开发新手指南(一)概述

    C#,是微软主推的编程语言。它在工业控制、自动化、物联网等领域应用非常广泛。由于国内在工业控制领域技术发展路径的原因,早期的自动化控制面板由Window环境提供,大量的MFC、VB6控制应用被部署在了工厂车间。在用户习惯和界面环境的双料加持下,给C#在工业领域的推

    2024年02月03日
    浏览(76)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包