git 常用命令配置

  • git 常用配置及命令
    • 1.1 git 邮箱配置
      • 1.1.1 git alise 别名配置
      • 1.1.2 git vim 编辑器配置
      • 1.1.3 在本地创建远程分支并切换
      • 1.1.4 git clean
      • 1.1.5 git stash
      • 1.1.6 git 清除缓存文件
      • 1.1.7 git bash 自动补全
      • 1.1.8 git 清除缓存文件
      • 1.1.9 git rebase -i 的使用
    • 1.2 repo 使用

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.1.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.1.2 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.3 在本地创建远程分支并切换

 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.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.1.9 git rebase -i 的使用

git rebase -i 的使用

git rebase -i change_id(目标patch的前一个change_id)

对应的 comment 改成 edit 模式, 重新修改 patch(修改甚至可以是git reset --hard HEAD^:也即去除该patch)

git commit --amend -s
git rebase --continue

git log 之後如下显示,这个时候如果想修改 test2.c 这个文件。

git log
commit 25db05a5dab80237a72bf4df3122fe17f27b56e6 (HEAD -> master)
new: test:test3.ccommit eaffc8a491e8e1a44bc4375caf489ab31a39ff6a
new: test:test2.ccommit 5e9690990bc707ad4269e931761563494cbea290 (origin/master, m/master)
new: test:test1.c

第一步:执行 git rebase -i change_id 如下:

git rebase -i 5e9690990bc707ad4269e931761563494cbea290pick eaffc8a49 NEW: Profile: add udp profile
pick 25db05a5d NEW: UDP: add header files for udp version# Rebase 5e9690990..25db05a5d onto 5e9690990 (2 commands)
#
# Commands:
# p, pick = use commit
# r, reword = use commit, but edit the commit message
# e, edit = use commit, but stop for amending
# s, squash = use commit, but meld into previous commit
# f, fixup = like "squash", but discard this commit's log message
# x, exec = run command (the rest of the line) using shell
# d, drop = remove commit
#
# These lines can be re-ordered; they are executed from top to bottom.
#
# If you remove a line here THAT COMMIT WILL BE LOST.
#
# However, if you remove everything, the rebase will be aborted.
#
# Note that empty commits are commented out

第二步:將上面内容的一行 pick 修改为 edit,然后 wq 退出,会输出下面提示信息:

Stopped at eaffc8a49...  NEW: Profile: add udp profile
You can amend the commit now, withgit commit --amendOnce you are satisfied with your changes, rungit rebase --continue

第三步:修改需要修改的文件, 然后提交:

root@root: git commit --amend file1.c file2.c
root@root: git rebase --continue
Successfully rebased and updated refs/heads/master.
git format-patch -18
git am *.patch

1.2 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

【git 常用配置及常用命令】相关推荐

  1. IDEA常用配置和常用插件及常用快捷键

    欢迎转载,转载请注明出处! 知乎:迷人滴海嘉 思否:迷人滴海嘉 简书:迷人滴海嘉 前言 本人使用 IntelliJ IDEA 两年多了,觉得还是非常好用的.在使用过程中总结了个人的IDEA常用配置和常 ...

  2. FTP服务器配置与管理(4) 服务器端的常用配置及FTP命令

    Windows Server系统中的FTP服务和Web服务都是由IIS组件提供的功能,因而它们的很多配置方法都是相同的,因为之前已经有了Web服务的配置基础,所以下面简单介绍一下FTP服务的一些常用配 ...

  3. RHEL 4 下 ISCSI Enterprise Target 的常用配置和常用操作

    这里都是关于 使用 ISCSI Enterprise Target(简称IET) 的使用说明. 常用操作命令:     查看当前虚拟单元清单.     cat /proc/net/iet/volume ...

  4. 《H3C交换机常用命令》——【华三交换机常用配置及维护命令技能】

    <H3C交换机常用命令> 一.常用查看命令 [Quidway]dis cur                                  :显示当前配置 [Quidway]displ ...

  5. vscode使用汇总——常用插件、常用配置、常用快捷键

    一.代码提示快捷键设置:(keybindings.json) [{"key": "ctrl+j","command": "-wor ...

  6. mysql 常用配置_mysql 常用配置

    一.添加用户: 命令: CREATE USER 'username'@'host' IDENTIFIED BY 'password'; 说明: username - 你将创建的用户名; host - ...

  7. Apache常用配置修改

    httpd常用配置 httpd常用配置虚拟主机:相同IP不同端口不同IP相同端口这样改:相同ip相同端口不同域名:https配置mod_ssl模块证书类型 访问控制法则: 法则 功能 Require ...

  8. git推送指令配置_git 常用命令

    git 简介 在实际开发中,会使用git作为版本控制工具来完成团队协作.因此,对基本的git操作指令进行总结是十分有必要的,本文对一些术语或者理论基础,不重新码字,可以参考廖雪峰老师的博文,本文只对命 ...

  9. Git的安装以及常用的命令总结

    Git的安装以及常用的命令总结 一.Git的概述 二.Git的安装 三.Git的使用命令 四.Git的分支操作 五.Git团队的协作机制 (一).Git的概述 Git是一个免费的.完全开源的分布式版本 ...

最新文章

  1. C++中的友元函数friend
  2. 《数据结构与算法》实验报告——快速排序
  3. 【LightOJ - 1038】Race to 1 Again(概率dp,数学期望)
  4. C#显示当前日期时间
  5. dbf文件转excel_Excel批量转PDF,关键一步不能忘
  6. 使用Notepad3替代Notepad++
  7. 入门注解@DependsOn
  8. excel如何利用VBA一键更改所有文件的名称
  9. 让Android 设备通过USB 转RJ45有线网卡上网
  10. 光纤跳线接口_如何为10G SFP+光模块搭配对应的光纤跳线类型?
  11. oracle 19c jdbc之Reactive Streams Ingestion (RSI) Library
  12. [相机原理]单反与手机是如何实现对焦的?——反差对焦的原理
  13. [CF 417D]Cunning Gena:状压DP
  14. 阿里云虚拟机多域名配置
  15. Linux系统安全基础
  16. web爬虫学习(四)——手机APP爬取
  17. 17岁和27岁的自己
  18. 计算机开机f8键,开机F8键“高级启动选项”的秘密
  19. 如何删干净MySQL数据库
  20. 2021年秋季PAT乙级题解(C语言)

热门文章

  1. SAP中事务码SQVI快速浏览器
  2. 从零学会Photoshop经典教程300集
  3. c和c++(c whith class)的相互调用引用
  4. 农村创业年收入可以实现三五十万元?有哪些投资不大的项目
  5. 游戏服务器是什么怎么租用
  6. 【不支持全功能typec的电脑如何一线直连便携屏】
  7. CVPR 2022 | 百变发型!中科大/微软/港城大提出HairCLIP:基于文本和参考图像的头发编辑方法...
  8. 关于“产品经理的方法论都是自上而下提出的,缺少形而上学的认知”此观点的讨论
  9. Teamspeak3集成要注意的问题
  10. Type-C扩展坞支持的手机类型