Linux下git操作(一)——git基本命令

每日诗词欣赏:《汉广》

南有乔木,不可休思。汉有游女,不可求思。
汉之广矣,不可泳思。江之永矣,不可方思。
翘翘错薪,言刈其楚。之子于归,言秣其马。
汉之广矣,不可泳思。江之永矣,不可方思。
翘翘错薪,言刈其蒌。之子于归,言秣其驹。
汉之广矣,不可泳思。江之永矣,不可方思。


git和svn一样,是一款强大的版本控制系统软件,它和svn有一些区别,目前从我现在对svn以及git学习以后来看,git似乎更强大一点,因为git可以在没有网络的情况下也可以提交(因为git是分布式的),而svn在操作之前必须先checkout远程仓库。但是svn有个优点(有全局额版本号),在回退到各版本的时候比较方便。


一、关于软件安装

1、首先查看是否以及安装了git:

rpm -qa | grep xxx 查询某个安装包
rpm -ql xxx :查询某个包安装路径
或者直接在终端敲git,如果已经安装会提示你命令使用方法。

2、linux下安装:

sudo yum install git

3、设置当前用户信息

[yangni@yangni fistlab]$ git config --global user.name "yangni"   
[yangni@yangni fistlab]$ git config --global user.email 497049229@qq.com

用于在查询历史的时候文件显示由谁修改过。


二、基本操作:

1、创建仓库:

[yangni@yangni fistlab]$ git init
Initialized empty Git repository in /home/yangni/git/fistlab/.git/
这里写图片描述
创建成功后用命令ls -a可以查看到出现了隐藏文件.git


2、添加并提交文件到仓库:

[yangni@yangni fistlab]$ git add text.txt

[yangni@yangni fistlab]$ git commit -m "write text.txt"
1 files changed, 1 insertions(+), 0 deletions(-)
create mode 100644 text.txt

-m后面是注释的内容,告诉别人自己修改了什么。


3、修改文件:

对每个文件修改后用git status可以查看当前每个文件的状态。

这里写图片描述

运行git status,提示我们已经被修改过了,但是没有提交。

查看修改具体内容:
用命令git diff可以用来查看修改了什么内容。

这里写图片描述

修改以后再次添加并提交:
[yangni@yangni fistlab]$ git add text.txt
[yangni@yangni fistlab]$ git commit -m "modified the text.txt by yangni on july 6th"
[master fc82b20] modified the text.txt by yangni on july 6th
1 files changed, 1 insertions(+), 1 deletions(-) //这里提示一增一减

再一次查看status:
[yangni@yangni fistlab]$ git status
# On branch master
nothing to commit (working directory clean) //告诉我们没有需要提交的东西

查看历史修改情况(修改时间,修改人):
git log查看历史修改情况

[yangni@yangni fistlab]$ git log
这里写图片描述

前面的字符是用16进制的数表示版本号。

这样看清来有点乱,我们用命令git log --pretty=oneline可以减少输出信息。
这里写图片描述


4、回退到之前的版本:

查看当前版本:
[yangni@yangni fistlab]$ git reset --hard HEAD
HEAD is now at 0998adb add text2 and modify text by yangni
退到上一个版本:
[yangni@yangni fistlab]$ git reset --hard HEAD^^
HEAD is now at 7c97a69 write text.txt

HEAD表示当前版本,HEAD^表示上一个版本,同理HEAD^^表示上上个版本。。。。不过这样太麻烦。所以如果要往上回退100个版本,则写成 HEAD~100

也可以通过git log查看id直接指定回到哪:(id号可只取前两位,为了避免相同,可以多取几位)
[yangni@yangni fistlab]$ git log
[yangni@yangni fistlab]$ git reset --hard id号
这里写图片描述


上面的方法有些弊端,因为git log**只能查看近几次的id**,如果关掉电脑或者要回退到很久之前的版本就无法实现了。所以下面提供更实用的方法:

Git提供了一个命令git reflog用来记录你的每一次命令
[yangni@yangni fistlab]$ git reflog
7c97a69 HEAD@{0}: HEAD^^: updating HEAD
0998adb HEAD@{1}: commit: add text2 and modify text by yangni
fc82b20 HEAD@{2}: commit: modified the text.txt by yangni on july 6th

[yangni@yangni fistlab]$ git reset --hard id号//这里id号必须写完整

注:(这里每个圈代表一个版本)

Git的版本回退速度非常快,因为Git在内部有个指向当前版本的HEAD指针,当你回退版本的时候,Git仅仅是把HEAD从指向append GPL:

这里写图片描述


5、管理修改:

git add是把文件的某次修改放入暂存区,所以修改以后必须先add提交才生效。

git diff HEAD -- xxx命令可以查看对于某个文件来说,工作区和版本库里面最新版本的区别:
这里写图片描述

撤销修改:
(1)只是修改,并没有添加:
所以可用git checkout -- file来恢复修改之前的模样 (–后面有个空格) ,其实是用版本库里的版本替换工作区的版本(一键还原)

[yangni@yangni fistlab]$ git checkout -- text.txt
这里写图片描述

(2)已经添加,还未提交:
git reset HEAD 文件名恢复到提交之前:

[yangni@yangni fistlab]$ git reset HEAD text.txt
这里写图片描述


6、删除文件:

(1)直接rm
[yangni@yangni fistlab]$ rm text2.txt
[yangni@yangni fistlab]$ git status

git会告知你删除了哪个文件:
这里写图片描述
用 rm 来删除文件,仅仅是删除了物理文件,没有将其从 git 的记录中剔除。

**所以如果用rm误删以后,可以很快用命令git checkout -- file找回。。 但是git commit -m " "提交的时候,并不会将删除操作提交上去。

所以如果想要提交删除操作,让文件在版本中删除,必须要用-am提交
[yangni@yangni fistlab]$ git commit -am " "
这里写图片描述

(2)用git rm删除
用 git rm 来删除文件,同时还会将这个删除操作记录下来,提交以后直接可以从版本中删除。
这里写图片描述

总结一下删除的两种方法:
在被 git 管理的目录中删除文件时,可以选择如下两种方式来记录删除动作:

  • rm + git commit -am "abc"
  • git rm + git commit -m "abc"

参考博客:
http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000

  • 9
    点赞
  • 73
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
树莓派安装LinuxCNC需要先安装Linux操作系统,并对树莓派的Linux内核进行编译。首先,你需要将Linux内核代码和编译工具上传到Ubuntu系统。根据树莓派的版本,在https://github.com/raspberrypi/下载对应版本的Linux工程。你可以使用git命令来下载树莓派的补丁文件,例如:git clone https://github.com/raspberrypi/linux.git -b rpi-4.19.y-rt。接下来,你可以选择在树莓派上直接编译,或者在x86 Linux平台上进行交叉编译。在编译完成后,你需要配置树莓派的Linux内核。配置完成后,你可以进行树莓派的Linux内核编译,并打包zImage文件。最后,将编译好的Linux内核文件拷贝到树莓派上,完成树莓派的LinuxCNC安装。 #### 引用[.reference_title] - *1* *3* [树莓派——配置Linux内核适合树莓派](https://blog.csdn.net/NRWHF/article/details/127849573)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [树莓派pi 4 编译 linuxcnc](https://blog.csdn.net/qq_25160559/article/details/122274261)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值