Git 常用命令学习

expensify-app Git命令 git init-创建新的git repo git状态-查看对项目代码的更改git add-将文件添加到暂存区git commit -m“ message”-使用暂存区git log创建文件的新提交-查看最近的提交git config --global user.name“您的名字” git config --global user.email git commit --amend --reset-author git remote-查看远程目标git remote -v git push git push heroku掌握 shorcut仅添加所有修改的文件:git commit -a -m“ message”或它提交-am“ message”而不是1)git add和2)git commit 其他的东西 heroku open(直接在浏览器中打开url)heroku日志( 立即下载

学习了网上一些Git的资料,总结一下:

  1. GIT和SVN命令的对比:
    ‘git clone’ == ‘svn checkout’
    ‘git checkout’ == ‘svn switch’
    ‘git push’ == ‘svn commit’

  2. ‘git add readme.txt’ 是把readme.txt从workspace放到staging区。
    ‘git commit -m “some information”’ 是把readme.txt从staging区放到repository。
    注意这里都还是在本机上的操作。要传到远程服务器上需要用push。

  3. ‘git status’ 的运行结果举例

如果修改了readme.txt,但还没有执行’git add readme.txt’,运行’git status’结果为:

# On branch master
# Changes not staged for commit:
#   (use "git add <file>..." to update what will be committed)
#   (use "git checkout -- <file>..." to discard changes in working directory)
#
#    modified:   readme.txt
#
no changes added to commit (use "git add" and/or "git commit -a")

上面显示了"modified", 则表明readme.txt文件有改动。同时上面还显示"no changes added to commit",表明该文件还没有出现在staging区。

执行了’git add readme.txt’操作后,再运行’git status’,结果如下:

$ git status
# On branch master
# Changes to be committed:
#   (use "git reset HEAD <file>..." to unstage)
#
#       modified:   readme.txt
#

还是会显示"modified",但是那行"no changes added to commit"没有了,因为修改后的文件已经放在staging area,有东西要commit到repository了。

  1. ‘git diff HEAD – readme.txt’
    会显示workspace和repository之间的readme.txt之间的差异。如果还没有执行’git commit readme.txt’, 那么不管有没有执行’git add readme.txt’,上面的’git diff HEAD – readme.txt’都会显示workspace和repository之间的差异,该差异跟是否执行’git add readme.txt’无关。

如果已经执行了’git commit readme.txt’,则上面的diff会显示没有区别。因为workspace和repository的内容已经一样了。
这时候再运行’git status’,会显示

# On branch master
nothing to commit (working directory clean) 
  1. ‘git checkout – readme.txt’
    会让readme.txt放弃在workspace的修改,也就是回到最近一次提交’git commit readme.txt’或’git add readme.txt’的状态。
    如果readme.txt修改后还没有被放到staging区(也就是还没有执行git add),那么’git checkout – readme.txt’ 会让readme.txt回到repository里面的状态,也就是上次’git commit’的状体。
    如果readme.txt修改后已经被放到staging区(也就是已经执行了git add,但还没有git commit),那么’git checkout – readme.txt’会让readme.txt回到tia
    一种是readme.txt已经添加到暂存区后,又作了修改,现在,撤销修改就回到刚刚添加到暂存区后的状态(也就是刚刚git add时的状态。

'git checkout .‘ 会抛弃当前的folder和子folder的变化。

  1. ‘git reset HEAD readme.txt’
    是放弃staging区里面的readme.txt的修改,让其回到’git add readme.txt’之前的状态。

  2. ‘git clone’ 和 ‘git pull’ 的区别:
    ‘git clone’ 是把整个远程的repository下载下来,包括里面的log, branch。所以下载下来之后本地也可以直接切换branch。
    ‘git pull’相当于’git fetch’和’git merge’。也就是先远程下载git项目里面文件,再与本地的branch进行合并。

  3. 如何修改commit注释?
    git commit --amend

  4. 如何合并最近的3个commit?
    假定最近的4个commit如下:

  • b1b8189 - (HEAD -> master) Commit-3
  • 5756e15 - Commit-2
  • e7ba81d - Commit-1
  • 5d39ff2 - Commit-0

run ‘git rebase -i 5d39ff2’
or
run ‘git rebase -i HEAD~3’

一个Notepad++文件会出现,前面3行如下
pick e7ba81d Commit-1
pick 5756e15 Commit-2
pick b1b8189 Commit-3

将其改为:
pick e7ba81d Commit-1
squash 5756e15 Commit-2
squash b1b8189 Commit-3
或
pick e7ba81d Commit-1
s 5756e15 Commit-2
s b1b8189 Commit-3

保存文件并推出。又会弹出一个notepad++文件,开头部分显示如下:

# This is a combination of 3 commits.
# The first commit's message is:
Commit-1   注释1

# This is the 2nd commit message:

Commit-2   注释2

# This is the 3rd commit message:

Commit-3   注释3

将其改为:

Commit-1   注释1

存盘并推出即可。

  1. 如何config git global email?
    git config --global user.email “aaaaa@bbb.com”

如何config git global name?
git config --global user.name “your_name”

如何reset author?
git commit --amend --reset-author

如何显示git global user email?
git config --global user.email

如何显示git global user name?
git config --global user.name

  1. 如何将服务器上master branch的某个文件下载下来替代本机上对应的项目文件,然后再push到自己的repo?

git checkout origin/master my_folder/my_file.c
git add my_foler/my_file.c
git commit -m “revert my_foler/my_file.c to master”
git push

  1. git restore <file_name> 丢弃工作区的修改(不包括对文件自身的操作,如添加文件、删除文件)

  2. 目前在branch A, remote的branch xxx有更新,如何下载BBB的更新?
    🔹 Workflow A (clean & explicit — recommended)
    git fetch origin xxx
    git merge origin/xxx

🔹 Workflow B (update local branch first)
git fetch origin xxx
git switch xxx
git pull origin xxx # fetch + merge into local xxx
git switch A
git merge xxx

Both are valid — A is safer and more explicit.
注意:
✔ git fetch origin xxx → updates origin/xxx only
✔ git pull origin xxx → updates current branch, not necessarily xxx
✔ To update xxx, you must be on xxx

还有好多,下次再写。

基于Simulink的自适应反步法(Adaptive Backstepping)控制​ 本文针对非线性系统控制中未知参数和强非线性耦合的挑战,提出基于Simulink的自适应反步法解决方案。通过融合参数在线估计与反步递归设计,该方法显著提升了永磁同步电机(PMSM)速度控制的鲁棒性,使跟踪误差从20%降至3%,参数估计收敛时间小于0.5秒。文章详细阐述了从算法推导到Simulink实现的完整流程,包括系统架构设计、核心算法推导(以PMSM为例)、模块化建模方法、参数优化策略以及工程部署建议。提供的自适应控制器MATLAB代码和关键参数表可直接应用于实际工程,为电机驱动、机械臂等非线性系统控制提 阅读详情

相关推荐

AgentVerse实战:构建多智能体协作系统的关键技术与应用场景

本文深入探讨了AgentVerse框架在构建多智能体协作系统中的关键技术及应用场景。通过分析智能体通信协议、环境交互机制和任务分解算法,展示了如何利用大型语言模型(LLM)实现智能体间的专业化分工与动态协作。文章还提供了智能软件开发团队和智能客服系统等典型应用案例,以及部署优化实践,为开发者构建高效的多智能体系统提供实用指导。

weixin_29254029的博客 361

修改Git提交历史中的author,email和name等信息

在我们日常工作中,通常由于某种原因,需要更新历史提交的commit信息。一般会有如下几种场景: 修改当前分支最新 commit 的提交信息 修改当前分支某历史commit的提交信息 修改当前分支所有提交的commit信息 对于当次提交来说,我们可以显示指定提交者信息。 git commit -m "Initial commit" --author="mn <mn@furzoom.com>" 通过git commit命令将暂存区内容添加到本地仓库后,git会生成相应的commit id。后

吃果冻不吐果冻皮 1万+

TC275-AutoSAR实战:Davinci Cfg多核OS配置与调试技巧

本文详细介绍了在TC275芯片上使用Davinci Cfg工具进行AutoSAR多核操作系统配置的实战步骤与调试技巧。内容涵盖从导入arxml文件的常见“坑”开始,到配置Det、EcuC、创建多核OS实例、关联OS应用、创建任务与设置优先级调度,最后分享了利用Det日志、调试器多核视图及处理核间通信与缓存一致性等关键调试方法,旨在帮助开发者高效完成复杂车载ECU软件集成。

weixin_29219189的博客 488

修改git commit的author信息

本地有多个git账号时,容易发生忘记设置项目默认账号,最后以全局账号提交的情况,其实对代码本身并无影响,只是提交记录里显示的是别的名字稍显别扭。 查看提交日志,假设以a(a@email.com)提交了三次,发现提交用户错了,应该用b用户提交: $ git log # 输出如下 commit 3 (HEAD -&gt; branch1) Author: a &lt;a@email.com...

mocoe的专栏 2万+

Unity序列帧动画输出全攻略:Recorder+Timeline实战与透明通道处理

序列帧动画是游戏开发、影视动画和UI动效中的基础技术,指将连续动作分解为一系列静态图像并按序播放,形成动态视觉效果。其原理是通过时间轴精确控制每一帧的内容与时机,实现动画的逐帧呈现。在实时渲染领域,序列帧输出技术价值显著,它能够将动态内容高质量地转换为静态图像序列,便于跨平台复用、后期合成与资源分发。应用场景广泛,包括角色动画导出、技能特效制作、宣传片素材生成等。本文聚焦Unity引擎,深入解析如何利用Recorder与Timeline工具链,高效输出带Alpha透明通道的PNG序列帧,并重点攻克透明通道处

weixin_31556767的博客 327

Proxmox VE网络配置踩坑实录:从Web界面无法访问到完美修复的全过程

本文详细记录了Proxmox VE服务器Web界面无法访问的完整排查与修复过程。作者从基础网络连通性测试入手,逐步排查了服务状态、SSL证书、端口监听、防火墙规则及网关配置,最终定位并解决了问题。文章提供了系统性的故障排查思路和实用的修复命令,对管理Proxmox VE网络具有重要参考价值。

weixin_29231221的博客 888

GIT学习笔记(2)

git命令的补充git config --unset --global user.name 删除user这个section下的name键值对 git commit --alow-empty 允许空白提交 git commit --amend --reset-author amend表示对上一个提交的修补,不会产生新的提交,reset-author重置作者ID,在改变git配置的name和em

ntkomata的博客 878

告别手动群发!用IDA Pro和CE搞定企业微信4.1.38.6011的HOOK开发(附完整代码)

本文详细介绍了如何利用IDA Pro和Cheat Engine进行企业微信4.1.38.6011的HOOK开发,实现自动化群发功能。从逆向工程环境配置、关键函数定位到HOOK框架设计,提供完整代码示例,帮助企业提升运营效率。

weixin_42533120的博客 478

如何更改一个特定提交的提交作者?

我想更改历史中一个特定提交的作者。这不是最新的提交。相关: How do I change the author and committer name/email for multiple commits?

HuntsBot的博客 4041

ROS2入门到精通—— 2-9 ROS2实战:Nav2常见的工程问题(参考3D视觉工坊)

本文介绍了Nav2常见的工程问题,还有调试DWB的一些经验,以及DWB的一些缺点

BigDavid123的博客 1067

ABB变频器使用PROFINET IO通信模块时的激活方法

ABB变频器使用PROFINET IO通信模块时的激活方法

Robot_PLC_HMI_Automation 2732

git操作笔记

git 你的电脑与 GitCafe 服务器之间保持通信时,我们使用 SSH key 认证方式来保证通信安全, 所以在使用 GitCafe 前你必须先建创自已的 SSH key。 1 进入 SSH 目录 cd ~/.ssh 如果还没有 ~/.ssh 目录的话,请先手工创建一个 mkdir ~/.ssh 。 2 生成新的 SSH 秘钥 ssh-keygen -t rsa -C “YOUR_EMAIL@...

wang391752的博客 538

基于STM32的智能婴儿床设计(蓝牙通信+摄像头监控)_315

本项目设计并实现了一款基于STM32微控制器的智能婴儿床系统,通过多种传感器和智能控制模块为家长提供更便捷和高效的婴儿照护解决方案。系统包括婴儿哭泣检测、湿度监测、空气质量检测、温度监控等多项功能,并通过蓝牙与手机APP进行数据传输和远程控制。婴儿床内置摇摇床和安抚音乐播放功能,能够在婴儿哭泣时自动启动摇摇床并播放安抚音乐。此外,系统还支持摄像头远程监控,让家长实时查看婴儿的状态。整个系统采用STM32F103RCT6作为核心控制单元,结合声音传感器、湿度传感器、MQ135空气质量传感器。

863

【Git学习笔记】Git常用命令

【代码】【Git学习笔记】Git常用命令。

wrjwww的博客 497

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

git学习之git常用命令

恢复工作目录中某个被修改但尚未暂存的文件到最近一次提交的状态。查看仓库当前的状态,显示哪些文件被修改、新增或删除。从远程仓库拉取最新的更改,并与本地分支进行合并。将工作目录中的文件添加到暂存区(stage)。查看工作目录中的文件与暂存区之间的差异。查看暂存区的更改与上一个提交之间的差异。提交暂存区的更改,记录一次新的提交。将暂存区的某个文件恢复到未暂存状态。将当前分支的提交推送到远程仓库。初始化一个新的 Git 仓库。分支的更改合并到当前分支。查看仓库的历史提交日志。后面跟的是提交信息。

2501_91537435的博客 647

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

git常用命令学习

Git 是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。Git 与常用的版本控制工具 CVS, Subversion 等不同,它采用了分布式版本库的方式,不必服务器端软件支持。Git 不仅仅是个版本控制系统,它也是个内容管理系统(CMS),工作管理系统等。如果你是一个具有使用 SVN 背景的人,你需要做一定的思想转换,来适应 Git 提供的一些概念和特征。

陌城烟雨 1274

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

git-bash 常用命令学习

01 git-bash命令 代码 说明 ls #llist 查看当前目录下的内容 cd #change directory 更改运行目录(文件名不区分大小写) pwd #print working directory 输出git-bash运行的绝对路径 mkdir #make directory 创建目录(文件夹) touch 创建文件 rm #remove 删除文件 clear 清屏 history 查询命令输入历史(

硬核小青年的博客 663

Git版本控制软件结合GitHub从入门到精通常用命令学习手册

http://www.ihref.com/read-16369.html

iLongdao 331

Git学习(四) 常用命令

文章目录一、配置1.1 常用配置1.2 命令别名配置1.3 代理配置二、初始化仓库三、克隆四、管理远程五、cherry-pick六、暂存取出七、文件状态八、日志8.1 git log8.2 git shortlog8.3 git reflog九、Blame十、分支10.1 查看分支10.2 切换分支10.3 创建分支10.4 删除分支10.5 重命名分支十一、合并十二、暂存十三、删除十四、还原十五、提交十六、推送十七、更新十八、移动-重命名十九、查看文件改动二十、回滚版本二十一、撤销二十二、标签二十三、gi

但惜流年的博客 479

Git常用命令学习

Git常用命令学习Git常用命令速查表新建Git库配置Git增加或者删除文件提交代码查看信息分支远程同步撤销Idea中Git的部分错误 Git常用命令速查表 图片来源于网上借鉴 新建Git库 新建初始化代码库 // An highlighted block Git init 下载一个项目(clone) // An highlighted block Git clone [url] 配置G...

qq_38559956的博客 263

git学习(常用命令的使用)

工作期间学习git陆陆续续近一个月,在此将一些常用的命令进行记录,共同学习。 git fetch、 git merge、 git pull、 git push、 git reset、 git log。 1、git fetch 说git fetch前先了解下FETCH_HEAD FETCH_HEAD:是一个版本链接,记录在本地的一个文件(项目的.git)中,指向着目前已经从远

tianyafeng123xin的博客 613

Git常用命令及学习

今天在做上尚硅谷的vue电商项目,想着想把它放在github上面维护,以后在面试的时候拿得出手 所以总结学习了一些git的常用命令 1、git有三个工作区

qq_40925074的博客 181

git常用命令学习总结

以下git命令只是本人学习过程的一个简单总结,想要详细学习git操作的童鞋,可查看廖雪峰老师的git教程,讲的非常详细,个人感觉受益匪浅。 linux 下安装git的方法 git官网查看linux下安装命令:https://git-scm.com/download/linux yum install git (此命令需要root权限执行) 若以上均不行,可下载源码安装:解压后依次执行: ....

huohuanyu1的博客 533

Gitlab学习(002 git常用命令)

总时长 5:42:00 共40P此文章包含第5p-第p55的内容。

wang_book的博客 945

Git常用命令的学习

GIT学习 关于版本控制 什么是“版本控制”?我为什么要关心它呢? 版本控制是一种记录一个或若干文件内容变化,以便将来查阅特定版本修订情况的系统。 Git 更像是把数据看作是对小型文件系统的一组快照。 每次你提交更新,或在 Git 中保存项目状态时,它主要对当时的全部文件制作一个快照并保存这个快照的索引。 为了高效,如果文件没有修改,Git 不再重新存储该文件,而是只保留一个链接指向之前存储的文件...

一页书的博客 215
上一篇: 八皇后问题(经典回溯算法)
下一篇: 几个硬盘接口协议IDE, PATA, ATA, SATA, SAS, SCSI,PCIe, FC的总结
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值