Git学习笔记----基础运用

2023-10-27

安装Git

Windows:

进入官网下载或百度网盘下载 Git(V2.23_x64)

提取码:uf2x

Ubuntu:

sudo apt-get -install git

安装完成之后打开git命令行(Ubuntu命令行即可操作)

输入以下代码

#查询版本号

git --version

#设置你的姓名(最好是英文)

git config --global user.name “kimalittlestar”

#设置你的邮箱

git config --global user.email “kim_alittlestar@qq.com”

#查看你的姓名、邮箱和所有当前目录下的设置列表

git config --global user.name

git config --global user.email

git config --list

 

 

建立本地仓库

从本地建立一个全新的仓库:

#跳转到你的项目根目录下

cd /d/EclipsecCode/C_project/

 

#初始化一个Git仓库

git init

 

#添加追踪规则,这里添加的规则是 该目录下所有的*.c/.h文件

git add *.c *.h ./**/*.c ./**/*.h

 

#查看仓库当前的状态

git status

 

#编写 .gitignore 忽视特定类型的文件

vim .gitignore

 

#写入以下文本

*.[oad]

 

#查看当前仓库状态

git status

 

#提交当前代码 可以使用两种方式

git commit -m “type your commit message“

 

#或者不带参数,等待他打开默认便捷器输入提交信息文本

git commit

 

 

从远程克隆一个仓库:

#跳转到你想要存储的目录下

cd /d/EclipsecCode/robam

 

#使用克隆命令,期间如果需要输入密码请输入密码

git clone https://github.com/KimAlittleStar/C_project.git

 

#输入ls 查看文件目录,发现多了一个文件夹C_project

ls

 

#clone 远程仓库到此结束 到此结束

 

基本操作

查看文件状态:

#在git中,除去已经忽略了的文件外,文件分为4种状态。

分别为:未追踪、未修改、已修改、已暂存。使用 git

status 查看项目中文件的状态

git status

 

文件状态装换流程 :

#未追踪->(git add <filename>)->已暂存
#已暂存->(git commit)->未修改

#未修改->(edit your file)->已修改

#未修改->(git remove )->未追踪

#已修改->(git commit -a)->已暂存

  

 

查看文件更改 diff 命令:

#查看项目中 已修改状态文件项目与该文件最后一次暂存的文件具体更改了哪些地方,可以使用git diff 命令操作

git diff

 

#如果想要看已暂存的文件和已经在版本库中的文件差异,可以使用 git diff –staged

git diff -staged

 

#diff还可以查看指定分支、指定文件之间的差异,更多操作请跳转:http://gitbook.liuhui998.com/index.html

提交更新到仓库:

#git commit 只会提交staged 状态的文件,使用git status查看 仓库中文件状态。将modified 状态的文件使用 $ git add 改成成为modified状态 然后提交。

git status

git add <filename>

git commit –m “message”

 

#使用 git commit –a 可以将所有追踪内的modified 状态和staged状态的文件一次提交。

git commit –a –m “this is all commit test”

 

查看仓库操作历史:

# 使用git log 可以查看当前仓库操作的历史

git log

 

#同时你也可以使用 git log –p 来内容上的差异

git log –p

 

#同时也可以使用git log -<n> -p 来显示最近n次内容上的差异。去掉 -p参数同理。更多使用请参阅:https://git-scm.com/book/en/v2

git log -1 -p

 

仓库取消追踪某个文件:

#使用git rm 删除某个追踪文件,或者在磁盘上删除,然后使用 git status 就可以看到删除命令在已修改区域,然后在使用git rm 即可提交。或者使用 git commit –a 提交所有改变

为项目添加远程仓库:

# 首先需要在远程仓库有一个你的目标远程仓库,其次获取你的远程仓库url 。输入以下代码 git remote add <别名> [URL]

git remote add kimhttps://github.com/KimAlittleStar/C_project.git

 

 

上传到远程仓库:

#使用git push 推送到远程仓库 git push <别名> <分支名>

git push kim master

 

覆盖上一次commit:

#使用git commit --amend 可以覆盖上一次提交, 用于自己错误信息的修改、忘记加入暂存区的文件等,最后git仓库中只会有一个commit

git commit

git add <filename>

git commit --amend

 

将暂存态的文件回退到已修改:

#将暂存态的文件回退到已修改需要使用git reset HEAD <filename> 此语句原理实际上是使用仓库中的 <filename>文件覆盖暂存态的文件。详情请参考 https://git-scm.com/book/en/v2/Git-Tools-Reset-Demystified

git reset HEAD -- <filename>

 

抛弃此次修改的文件:

#使用git checkout -- <filename>可以撤销此次对文件的修改。但是此次修改将会被真正丢弃。再也找不到。原理请参考:https://git-scm.com/book/en/v2/Git-Tools-Reset-Demystified

git checkout -- <filename>

 

 
为自己的项目添加标签 tag:

#使用git tag –a <tagName>–m ‘tag message’可以为当前版本添加标签 如果想要添加tag到之前的版本,需要在后面增加 对应版本号的校验码

git tag -a v0.1 -m "using tag test“

 

#除此之外还可以覆盖tag 使用 –f 参数 没有附带信息的tag(轻量tag) 不输入任何参数 只输入tag名等,详情请参考:http://gitbook.liuhui998.com/3_7.html

添加别名快捷操作:

#使用git config --global alias.<quickName> ‘actrue str’ 可以添加自定义的快捷操作 ;详情请参考https://git-scm.com/book/zh/v2/Git-%E5%9F%BA%E7%A1%80-Git-%E5%88%AB%E5%90%8D

git config --global alias.last 'log -1 HEAD'

 

 
命令行小结

命令行

作用

 

使用示例

git init

在当前目录下初始化一个新的git仓库

cd <your work directory>

git clone

git clone [URL]

在当前目录下克隆一个git仓库 也可以后面加目录参数 克隆到指定目录

git clone https://code.aliyun.com/lonnox/robam_doc.git

git status

查看当前目录中各个文件和操作的状态;文件状态详情请点击

git status

git add <filename> <filename> …

将当前仓库下的文件状态向上更新,文件状态详情请点击,且支持正则表达式

git add *.c *.h ./**/*.c ./**/*.h

详情参考这里

git rm <filename> <filename> …

删除这些文件,并将此操作提交到暂存状态(staged)

git rm project.out

git commit

提交在暂存态的文件或操作,跳出编辑窗口输入提交信息

git commit

git commit –m ‘message’

提交 并将 ‘message 作为提交信息’

git commit –m “message”

git diff

查看已修改的文件和仓库中此文件的区别,如果后面不指定文件名那么将显示所有文件

git diff <filename>

git diff --staged

查看已暂存的文件与仓库中的区别

git diff --staged <filename>

git remote add  <别名> [URL]

为本地项目添加远程仓库

git remote add kim https://github.com/KimAlittleStar/C_project.git

git push <用户名> <分支名>

将自己本地的项目上传至服务器

git push kim master

git commit --amend

将此次提交与上一次提交合并,只记录一次提交

git commit --amend  -a –m “message”

git reset HEAD -- <filename>

抛弃现在的暂存文件使其回退到已修改状态

git reset HEAD -- Exfunction.c

git checkout HEAD -- <filename>

抛弃此文件的修改

git checkout HEAD -- Exfunction.c

git tag

查看、修改、添加项目的标签

git tag –a v0.1 –m ‘message’

git config --global alias.<quickStr> ‘cmd str’

使用quickStr 等效替换 cmd str,例如一些固定参数的命令等。

git config --global alias.cmit-all 'commit -a'

 

 

后记:

经过这几天的学习,越来越感觉到开源社区的奇妙与能量,这群人都有着一种神奇的能量,让人不由自主的佩服和开心起来。了解他们的起源,和他们的思想,越能感受到这群率真的程序员的智慧。

最后把上面的所有内容整理压缩成了一个小PDF文件,里面的两个目录可以点击让大家方便的跳转到相对应的地方,分享给大家。

git基础使用:

链接:https://pan.baidu.com/s/1pkmG0sOjxP8nhNIPw7NWTA
提取码:mzut

 

转载于:https://www.cnblogs.com/kimalittlestar/p/11598564.html

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Git学习笔记----基础运用 的相关文章

  • 如何在一台电脑上拥有2个git用户?

    我想练习使用 GitHub 做拉取请求并学习如何观看git 差异不同用户之间 如何在 macOS 的终端上设置另一个用户帐户来执行此操作 如何在用户之间切换 充当第二用户有三个方面 1 GitHub账户 要以其他用户身份使用 GitHub
  • Hudson/Jenkins Git 构建所有分支

    我们有很多开发人员创建了我想要构建的功能分支 每晚我们都会运行一个需要在每个分支上运行的代码质量工具 我也不喜欢静态配置 因为分支数量每隔几周就会发生变化 在 Git 配置中有一个字段 分支说明符 默认为空白 如果你放在那里 它将构建来自所
  • SmartGIT 不要求 ssh 密钥

    切换到新计算机后 我必须再次安装 Windows 版 SmartGIT 现在尝试克隆我的 fedorahosted org repository 密钥存储在 C User myusername ssh SmartGIT 附带了全新安装 并且
  • Git 每次提交和拉取时都要求输入密码

    我正在使用带有 Git 扩展的 Visual Studio 2012 我正在使用位桶来存储项目 每次 每当我想要推送或拉取 Git 时 都会询问我帐户密码 在 Windows 8 中 Thanks 您可以使用gitcredentials h
  • 在命令行中从 github 下载特定文件,而不是克隆整个存储库

    如何使用命令行从 github 下载 2 个文件 内容如下 git fetch git github com username Project git file1 git fetch git github com username Proj
  • git-svn SVN 作者文件的相对路径?

    我已经使用 git svn 从工作中克隆了一个 SVN 存储库 在最初的克隆过程中 我提供了一个 SVN 作者文件 当我进行初始克隆时 git 设置了authorsfile作为绝对路径 但是 我在工作机器和笔记本电脑上保留了这个 git 存
  • Github 版本如何生成存档文件名?

    我刚刚在 github 上为我的 NFQL 软件创建了版本 这是发布页面 https github com vbajpai nfql releases https github com vbajpai nfql releases 对于最新版
  • git 克隆错误:致命:git upload-pack:由于远程端可能的存储库损坏而中止

    我对 git 存储库具有读 写访问权限 但是当我尝试 git clone 时 出现以下错误 x ubuntu temp git clone email protected cdn cgi l email protection Corp ap
  • 如何使用 libgit2 创建空提交?

    我一直在寻找libgit2 C API 参考 https libgit2 org libgit2 但我不知道如何模仿git commit allow empty libgit2 是否有内置方法来创建空提交 如果没有 git 如何在底层创建一
  • 将 svn 存储库添加到现有的 git 存储库中?

    我知道你可以使用 git svn init 来跟踪 svn 存储库 但这是为了你想创建一个全新的存储库 我的情况是 我目前已经有一个现有的 git 存储库 并且希望通过将 svn 存储库设为我当前 git 存储库中的远程分支来跟踪 svn
  • 如何使用 git hook pre-merge-commit 获取原始合并分支名称

    我正在尝试使用新的 git hook pre merge commit 创建一个特定的脚本 但它没有参数 有什么解决方法可以让我获得正在合并的分支的名称吗 例子 在分支 myBranch 上 我调用 git merge testingBra
  • Python 无法在 git bash 命令行中工作

    Python 不会在 git bash Windows 中运行 当我在命令行中输入 python 时 它会将我带到一个空行 而不会像在 Powershell 中一样显示它已输入 python 2 7 10 它没有给我错误消息 但 pytho
  • 由于不存在大文件而导致 git Push 错误

    当尝试推送到 git 时 我不断得到相同的结果 Counting objects 78 done Delta compression using up to 4 threads Compressing objects 100 67 67 d
  • 使用 Subversion 进行部分提交

    鉴于我做的案例两个独立的变化 in one文件 例如 添加了一个新方法并更改了另一个方法 我经常不想提交这两项更改 因为one提交 但作为two独立承诺 在 git 存储库上我会使用互动模式 of git 添加 1 http linux d
  • 如何标记单个文件?或如何下载特定文件? - 胃肠道

    我想向文件添加标签以轻松下载该文件而不是整个分支 如何下载GIT中的特定文件 我不知道有什么方法可以标记特定文件git 对于第二个问题 如何下载特定文件git 仅当您的意思是 同时下载 时 以下内容才有效in a git存储库 这就是我理解
  • Git 在推送代码时返回错误 403 [重复]

    这个问题在这里已经有答案了 一切都工作正常 直到我创建了一个新的 GitHub 帐户 当我尝试使用新帐户第一次将代码推送到 github 服务器时 出现以下错误 remote Permission to NEW USER NEW REPO
  • 如何使用 sourceTree 进行推送?

    我正在使用 sourceTree 管理 Unity 项目 版本 4 6 3 我只是想返回到上一次提交 右键选择 将当前分支重置到此提交 在使用模式中选择 硬 然后放回上一次提交 之后 我尝试去推 但没有成功 抱歉 当时我忘记了错误 之后 我
  • 如何将普通的 Git 存储库转换为裸存储库?

    如何将 普通 Git 存储库转换为裸存储库 主要区别似乎是 在普通的 Git 存储库中 你有一个 git存储库内的文件夹 包含构成工作副本的所有相关数据和所有其他文件 在裸露的 Git 存储库中 没有工作副本和文件夹 我们称之为repo g
  • 通过链接进入 git-repo,无需冗长的对话框

    In a directory I have symbolic links into a git administered directory all under Linux Every time I want to e dit such a
  • 如何通过哈希显示提交的日期和时间

    I used git reflog识别我创建特定分支时的哈希值 我得到了哈希值fe1ddcdef 我还没有将此分支推送到远程 我现在正在尝试查找日期和时间fe1ddcdef发生 git reflog只告诉我 fe1ddcdef HEAD 1

随机推荐

  • 同步和异步

    同步和异步通常用来形容方法的调用方式 同步方法表明调用一旦开始 调用者必须等待方法执行完成 才能继续执行后续方法 异步方法表明 方法一旦开始 立即返回 调用者无需等待其中方法执行完成 就可以继续执行后续方法 通常我们写的方法都是同步方法 方
  • 使用Nginx解决跨域问题

    目录 使用Nginx解决跨域问题 1 修改浏览器 客户端访问地址 2 在nginx conf配置文件需配置server 3 在Nginx中配置客户端访问的接口 按照规则或通配 并设置被代理的服务器 4 在Nginx中统一配置客户端访问的头部
  • java实时获取汇率

    1 分享三个觉得挺不错的汇率api 1 每小时免费50次查询配额 NOWapi 2 0 1元2000次 年 阿里云 汇率api 3 每天免费100次查询配额 需要实名认证 聚合科技 如果只是针对很少外币获取汇率的话 个人推荐去阿里云购买 毕
  • Java中使用Jar包时读取当前jar文件所在的目录工具

    在实际使用中 jar包所放的位置是不一定的所以要动态获取当前目录 package com gj5u publics util import java io File 获取打包后jar的路径信息 author Rex public class
  • angularJs摸态框实例加详细注解

  • mos 多路模拟电子开关_同步四开关 BuckBoost 180W 模块电源

    点击上方 21Dianyuan 关注我们 本文是 21Dianyuan 社区 原创 技术文章 作者 xueyiranpiao 感谢作者的辛苦付出 本电源主要应用于电池充电 电池为8串磷酸铁锂 10000mAH 0 6C 充电 也可以用于其它
  • Mybatis底层源码分析(最详细的版本)

    Mybatis底层源码分析 最详细的版本 1 概要介绍 MyBatis 是一款优秀的持久层框架 也是当前最流行的java持久层框架之一 它内部封装了jdbc 使开发 者只需要关注sql语句本身 而不需要花费精力去处理加载驱动 创建连接 创建
  • 网络编程知识预备(2) ——TCP三次握手与四次挥手、流量控制(滑动窗口)、拥塞控制、半连接状态、2MSL

    参考 浅显易懂的三次握手与四次挥手 作者 丶PURSUING 发布时间 2021 03 19 09 33 20 网址 https blog csdn net weixin 44742824 article details 114990198
  • python3 面向对象_Python3快速入门(六)——Python3面向对象

    Python3快速入门 六 Python3面向对象 一 面向对象技术简介 1 面向对象简介 面向对象编程 Object Oriented Programing OOP 是一种编程思想 OOP把对象当成程序的一个基本单元 一个对象包含数据和操
  • antd date-picker 默认时间设置问题

    一 官网给出的例子
  • Python编程:通讯录(文件读取)

    描述 读取附件中的csv文件 通讯录信息 放入字典中 后两项以列表形式做为字典的值 并依次输出其中的信息 文件内数据不需要修改 输出时数据之间以空格间隔 编码格式使用GBK 输入 A 时 按行输出文件信息 输入 D 时 直接输出字典内容 输
  • vue3 props属性基本使用梳理

    前言 vue2中props属性的使用是比较统一的基本就一种方式 但是vue3中其实方式是比较多的 因此就打算梳理一下 会按照选项式和组合式进行梳理 包括属性的定义 取值以及属性的监听 应该是叫单文件组件和组合式API 不知道vue官方是根据
  • 递归->栈->队列面试题

    本文所有程序均已测试通过 测试结果图就不一个一个再截图了 读者可以自己copy验证一下 后期我会把思路图补出来 1 行走机器人问题 货架N个 机器人初始位置在pos 经过minutes分钟后到达T有多少种方案 行走机器人问题 货架N个 机器
  • 使用Hexo从0到1搭建个人博客详细教程(超详细,超简单)

    看完这篇 轻轻松松搭建个人博客 校花 班花 额 额 看了就会的博客搭建教程 一 搭建前的软件准备 git node 二 安装hexo 完成简单本地页面展示 三 将Hexo部署到Github 1 Github创建个人仓库 2 生成ssh添加到
  • WebStorm功能特点以及使用指南

    WebStorm功能特点以及使用指南 首先看看WebStorm合其他的IDE有什么特别之处 1 自动保存 不需要你一次又一次地ctrl s啦 所有的操作都直接存储 当然 万一键盘误操作也会被立即存储 不过我们可以通过本地版本控制解决这个问题
  • 创建型模式-建造者模式理解

    1 前言 首先建造者模式适合下面的场景 进行使用 假设不同的对象有着基本的共同特点 或者配合前端进行页面布局 进行构建一个复杂的对象 那么可以参考工厂方法模式进行抽取对象 并进行解耦 达到一个设计符合要求的对象的过程 eg 1 保险产品 前
  • python自适应图片大小_python – 如何在Pygame中将图像缩放到屏幕尺寸

    您可以使用pygame transform scale缩放图像 import pygame picture pygame image load filename picture pygame transform scale picture
  • 小世界网络和复杂网络+python代码实现

    文章目录 小世界网络 复杂网络的特性 平均路径长度L 聚集系数C 度及度分布 小世界效应 规则网络 随机网络 小世界网络 无标度网络 python 代码 生成小世界网络 规则网络 喜欢的话请关注我们的微信公众号 你好世界炼丹师 公众号主要讲
  • 头文件重复定义问题解决“C1014错误“

    比如现在有三个文件 两个头文件 一个 cpp文件 header1 h include header2 h int fun2 header2 h include header1 h int fun main cpp include heade
  • Git学习笔记----基础运用

    安装Git Windows 进入官网下载或百度网盘下载 Git V2 23 x64 提取码 uf2x Ubuntu sudo apt get install git 安装完成之后打开git命令行 Ubuntu命令行即可操作 输入以下代码 查