git的常用命令有哪些
admin
2023-01-21 06:43:26
0

[TOC]

Git

配置

配置文件

以下配置中若出现相同配置项,根据顺序从下到上依次覆盖

级别命令配置文件
全局system/etc/gitconfig
用户global~/.gitconfig
项目local/etc/gitconfig

基本命令

  • 查看全局所有配置:git config --list --global
  • 查看某一项配置:git config user.name
  • 设置用户名:git config --global user.name 'yangqingjun'
  • 设置邮箱名:git config --global user.email 'yangqingjun001@hotmail.com'
  • 重置某项配置:git config --unset --global user.name
  • 添加别名:git config --global alias.co checkout

获取帮助

  • 获取某个命令帮助
    git help add
    git add --help
    man git-add
  • 获取所有命令名称:git help -a
  • 获取所有手册名称:git help -g

基本操作

获取 Git 仓库

空目录中初始化项目
  • 初始化新仓库命令:git init
  • 添加跟踪文件:git add LICENSE
  • 添加某类文件:git add *.c
  • 添加所有文件:git add .
克隆现有仓库

克隆仓库会将远程目标中所有分支、文件全部克隆下来

  • 克隆远程仓库:git clone https://github.com/libgit2/libgit2
  • 克隆远程仓库并重命名:git clone https://github.com/libgit2/libgit2 test

文件生命周期

  • 查看当前文件状态:git status
  • 追踪新文件:git add newfile
  • 状态简表:git status -s
符号说明文件所在区
??未追踪工作区
A_新追踪 未提交暂存区
AM新追踪 未提交 又修改暂存区、工作区
_M提交过 刚修改工作区
M_提交过 已暂存暂存区
MM提交过 暂存过 又修改暂存区、工作区

查看修改区别

  • 查看工作区和暂存区区别:git diff
  • 查看暂存区和提交区区别:git diff --staged

提交更改

  • 提交暂存区的内容:`git commit -m 'init'
  • 跳过暂存区直接提交:`git commit -am 'init'

移除文件

不追踪文件,删除文件
  • 删除之前未修改过:git rm test.txt
  • 删除之前已修改且提交到暂存区:git rm -f test.txt
不追踪文件,保留文件
  • 将已追踪的文件放弃追踪:git rm --cached test.txt
  • 在忽略文件中写入,用来放弃追踪

移动文件

git mv file1.txt file2.txt

不追踪的文件

配置文件

在根目录下的 .gitignore 文件中描述

全局配置
  • 全局配置命令:git config --global core.excludesfile ~/.gitignore
  • 全局忽略文件参考:https://github.com/yangqingjun/gitignore/blob/master/.gitignore
特定项目
  • 项目特定语言参考:https://github.com/yangqingjun/gitignore
匹配规则
  • 所有空行或者以 # 开头的行会被Git忽略
  • 以 / 开头防止递归。eg:/TODO 只忽略 TODO 文件,而不是文件夹
  • 以 / 结尾指定目录。eg:build/ 忽略 build/ 下所有文件
  • doc/*.txt 只忽略此目录下的
  • doc/*/.pdf 忽略doc目录下所有的
符号说明例子
*零或多个任意字符*.py doc/*.txt
**任意中间零个或多个目录a/**/z
?有且仅一个任意字符hello?.txt
[abc]方框内任意一个
[0-9]方框范围内任意一个
!追踪指定文件、忽略以上规则!index.py

分支操作

远程操作

GitHub

GitLab

图解

文件生命周期

git的常用命令有哪些

常用命令

  • add: 添加内容到暂存区;添加内容到下次提交中

参考

  • 安装Git参考:https://git-scm.com/book/zh/v2/起步-安装-Git
  • Linux各版本安装命令:https://git-scm.com/download/linux
  • 各编程语言忽略的文件参考:https://github.com/yangqingjun/gitignore

其他配置

全局颜色 git config --global color.ui true

查个mac快捷键 命令行输入 打开finder
open .

查看区别-工作目录与暂存区

git diff index.html

查看区别 工作目录与提交完成的

git diff --staged

删除不追踪的文件

git rm style.css

修改文件名

git mv file1 file2

删除文件

git rm file1

恢复删除文件,最近一次提交

目前还在工作区,未提交状态
git checkout HEAD -- index.html
已经提交
git checkout HEAD^ -- index.html

查看日志,一行
git log --oneline

恢复提交
git revert fsdgj

控制指针位置
git reset fsdgj
--soft 软重置,不影响工作区和暂存区
--hart 工作区和暂存区都重置
--mixed 默认的 只重置暂存区

git stash save '放到工作进度里'
显示工作进度列表
git stash list
查看区别
git stash show -p stash@{0}
恢复进度
git stash apply stash@{0}
删除进度
git stash drop stash@{0}
git stash pop stash@{0}

日志
查看最近5条
git log --oneline -5
查看某个作者提交的
git log --oneline --author="yangqingjun"
所有包含 index 的提交
git log --oneline --grep='index'
某个日期之前的提交
git log --oneline --before='2019-01-01'
三天前的
--before='3 days'
图形界面查看
git log --oneline --graph

分支
查看当前分支
git status
查看所有分支
git branch
创建分支
git branch mobile-feature
切换分支
git checkout mobile-feature

显示分支的提交
git log --oneline --decorate

显示所有分支提交详情
git log --oneline --decorate --all

对比两个分支区别
git diff master..mobile-feature  后面可以加上文件名

合并分支
在master分支上
git merge mobile-feature

相关内容

热门资讯

今年上半年全国城镇新增就业69... 今天(22日)上午,人力资源社会保障部举行新闻发布会。今年上半年,全国城镇新增就业695万人,同比持...
委内瑞拉强震遇难人数升至534... 当地时间21日,委内瑞拉全国代表大会主席豪尔赫·罗德里格斯通过社交媒体通报,该国6月24日两次强震造...
高考684分花3000元咨询进... 潮新闻客户端 青年特约评论员 曾耀湘图源:视觉中国近日,据齐鲁晚报报道,河北一名2018级考生,因“...
郑州2死2伤火灾系人为纵火 郑州市公安局金水分局对外发布案件通报。通报显示,6月19日21时,郑州市金水区宏明路与柳林路东南角宏...
29岁成都小伙旅行中改道广西救... 7月14日,自发赶往广西救灾的志愿者党鑫蕊,由于劳累过度导致心功能衰竭,在贵港市覃塘区不幸离世,年仅...
清理洗衣机下水管道的方法 清理洗衣机下水管道是一项必要的任务,如果不及时清理,管道内部容易积累污垢和细菌,从而影响洗衣机的使用...
澳外长宣称:中国要就军事建设做... 7月初,中国向太平洋公海海域成功发射一枚携载训练模拟弹头的潜射战略导弹。中方重申,此为例行军事训练活...
伊朗威胁打击海水淡化厂,到底有... 据路透社报道,伊朗7月21日对科威特一座海水淡化厂发动袭击,引发海湾地区担忧,随着该地区冲突升级,更...
美新版“空军一号”刚上岗就回炉... 【环球时报综合报道】美国《防务新闻》7月20日称,美国总统特朗普透露,新版总统专机“空军一号”将被送...
全自动卧式洗衣机清理方法 随着生活水平的不断提高,全自动卧式洗衣机已经成为了家庭生活中不可或缺的一部分。它的出现方便了我们日常...