【嵌入式开发 Linux 常用命令系列 4 -- git 常用配置及常用命令】

本文详细介绍Git的基本配置与常用命令,包括邮箱配置、别名设定、编辑器选择等,并讲解如何创建远程分支、提交与推送补丁、清理未跟踪文件等实用技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


请阅读【嵌入式开发学习必备专栏 】


上篇文章:嵌入式开发 Linux 常用命令系列 3 目录任意跳转命令 – autojump

git 常用配置及命令

可以通过下面命令查看git配置信息

 git config --list

config list 分全局和局部:

  • 在根目录下执行 git config --list 显示为全局配置
  • 在 git 的仓库目录下执行,显示的是全局和局部的配置信息

1.1 git 邮箱配置

设置用户名称与邮件地址。这样做很重要,因为 Git 的每笔提交都会使用这些信息,并且它会写入到每一次提交中,不可更改。

git config --global user.email "邮箱"
git config --global user.name "用户名"

如果使用了 --global 选项,那么该命令只需要运行一次,因为之后无论在该系统上做任何事情, Git 都会使用那些信息。

  1. git alise 别名配置
git config --global alias.ck checkout
git config --global alias.ci commit
git config --global alias.br branch
git config --global alias.st status
  1. git vim 编辑器配置
    在执行git commit 的时候,弹出的窗口不是自己想要的编辑器。或者由于另外的一些原因,想要在使用git的时候更换一个编辑器,则可以通过git config --global core.editor的命令修改为自己想要的编辑器。
git config --global core.editor vim

git 默认编辑器是 nano,如果恢复默认编辑器,可以使用下面命令进行配置:

git config --global core.editor nano

1.1.1 在本地创建远程分支并切换

 git checkout -b demo-4.14 aosp/demo-4.14 

很久没有更新了,需要再和远程同步

git branch --set-upstream-to=aosp/demo-4.14 demo-4.14

不用使用git checkout xxx切换到远程分支即可查看代码

git blame aosp/demo-4.4 drivers/pwm/pwm-pxa.c

查看本地分支对应于哪个远程分支

git branch -vv 

删除远程分支

 git push origin --delete hehe

1.1.2 git 提交与 推 patch

通常提交patch 都是使用下面流程:

git add .  //覆盖范围为当前目录及其子目录
git commit -s -a //提交全部修改
git push origin HEAD:refs/for/master

在有些时候只想 git add 修改过的文件也即 “modified files”, 不需要 git add untracked files, 这个时候可以使用 git add -u .

1.1.3 git push

我们都知道 push 命令的作用是将本地当前分支的代码推送到远程指定的分支上,其命令的格式如下:

git push <远程主机名> <本地分支名>:<远程分支名>

使用 git push 命令将 <本地分支名> 的代码推送到 <远程主机名> 中的 <远程分支名> 上。

<远程主机名> :指的是你想要推送到哪个远程主机中,在我们克隆一个项目的时候,git 会自动帮我们把远程主机起名为 origin,一般情况下是不会去修改这个名字的。
<本地分支名>:是本地分支的名字,可以使用命令 git branch 来查看本地有哪些分支。
<远程分支名>:指的是远程主机中的分支名,如果远程主机没有这个分支,则会新创建一个。

1). 通常写法

git push origin dev:test

将本地的 dev 分支上的代码推送到远程主机名为 origintest 的分支上。如果远程的 test 分支不存在,则会被创建。

2.省略: <远程分支名>
如果本地分支名和远程分支名一样的情况下,可以省略:<远程分支名>。如果远程主机中不存在该分支,那么会被创建。我们就可以使用命令:

git push origin dev

3. 省略本地分支写法
看下下面格式的解析:

git push origin HEAD:refs/for/master

git push :表示推送代码到远程服务器;
origin : 表示远程的库的名字;
master:表示远程分支的名字。;
HEAD: 表示一个特别的指针,指向你正在工作的本地分支的指针,可以当做是本地分支的别名。git通过它可以知道当前工作区间在哪个分支;
refs/for :表示我们提交代码到服务器之后是需要经过 code review 之后才能进行merge 操作的,而 refs/heads 是不需要的。

1.1.4 git clean

改命令用来删除 一些没有 git add 的 文件(没有tracked过的文件)
-n 显示将要删除的文件和目录
-f 删除 文件,-df 删除文件和目录

恢复git clean方法:
1). 执行git reflog
2). git reset --hard 6e8d3e3(指定 commit 的 sha 码)
3) 如果效果还不理想的话,采用终极命令 git fsck --lost-found

1.1.5 git stash

作用等同于 git stash,区别是可以加一些注释,如下:

git stash save “test1”
git stash list

查看当前stash中的内容

git stash pop

将当前stash中的内容弹出,并应用到当前分支对应的工作目录上

1.1.6 git 清除缓存文件

git rm -r --cached .

git clean -fdx . 会清除 untracked 的文件

1.1.7 git bash 自动补全

下载 .git-completion.bash文件。

如果是 cygwin终端可以使用下面命令:

apt-cyg install bash-completion
source ~/.git-completion.bash

1.1.8 git 清除缓存文件

当修改该过文件file之后,再使用 git add file 将其加入缓存中,但是后面发现不需要修改了,这个时候可以使用下面命名将其从缓冲区中删除。

git add file
git status .
git rm --cached file

git clean -fdx . 会清除 untracked 的文件

1.2 git 其它常用配置

1.2.1 Git 忽略文件.gitignore的使用

请参考:
https://www.jianshu.com/p/a09a9b40ad20
https://blog.csdn.net/Saintmm/article/details/120847019

1.2.2 Git 按文件类型添加

$ git add *.h  
$ git add *.c

1.2.2 Git status 执行变慢问题

随着时间越长,你每次执行 git status 命令会越来越慢。这是由于本地有过多的缓存造成的。git 为这个问题提供了一个简单的解决方案,那就是:

git gc

这个命令会清理不必要的文件并优化本地存储库,git gc 命令在你的仓库中执行 “garbage collection”,删除数据库中不需要的文件和将其他文件打包成一种更有效的格式。

1.3 repo 使用

repo forall -c 

此命令遍历所有的git仓库,并在每个仓库执行-c所指定的命令,被执行的命令不限于git命令,而是任何被系统支持的命令,比如: git log, git status, git checkout等。

repo forall -p -c git statsu
repo forall -p -c git checkout
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

主公讲 ARM

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值