有关Git命令的总结

本文目录:

  • Git基础操作(本地仓库)
  • Git分支操作 (本地仓库)
  • Git本地仓库与远程Github仓库之间的操作

    先理解一下以下概念:

    工作区:就是你在电脑里能看到的目录。
    暂存区:英文叫 stage 或 index。一般存放在 .git 目录下的 index 文件(.git/index)中,所以我们把暂存区有时也叫作索引(index)。
    版本库:工作区有一个隐藏目录 .git,它是 Git 的版本库,也叫本地仓库。


    最重要的几个命令:
    1 能够掌握 Git 中基本命令的使用

    ⚫ git init
    ⚫ git add .
    ⚫ git commit –m "提交消息"
    ⚫ git status 和 git status -s

    2 能够使用 Github 创建和维护远程仓库

    ⚫ 能够配置 Github 的 SSH 访问
    ⚫ 能够将本地仓库上传到 Github

    3 能够掌握 Git 分支的基本使用

    ⚫ git checkout -b 新分支名称
    ⚫ git push -u origin 新分支名称
    ⚫ git checkout 分支名称
    ⚫ git branch


一、Git基础操作命令(本地仓库)

#全局配置【用户名】和【邮箱】注:使用--global全局设置一次,永久生效
git config --global user.name ”yourname“
git config --global user.email ”youremail“

#检查全局配置信息
git config --list --global
#检查制定全局配置项
git config user.name
git conf user.email

#获取帮助 如关于config的帮助
git help config 过 git config -h

#获取Git仓库的两种方法
1. 将尚未版本控制的本地目录转为Git仓库
window版:在项目目录中,通过鼠标右键打开“Git Bash”
执行:git init 即可(只是初始化,但未跟踪,必须git add后才跟踪)
Mac版:cd 到目标目录
再执行: git init
2. 从其他服务器克隆一个已经存在的Git仓库

#检查文件状态(四个状态:1.未跟踪 2.未修改 3.已修改 4.已暂存)
git status
精简方式查看: git status -s

#开始跟踪,即提交到暂存区
提交单个文件: git add 文件名  
提交所有文件: git add .
//git add 有以下功能:
1.提交文件,开始跟踪
2,把跟踪的且已修改过的文件放到暂存区
3.把有冲突的文件标记为已解决状态(即提交到暂存区)

#提交已暂存的到本地仓库(提交后状态为未修改)
git commit -m ”备注信息“

#撤销对文件的修改(很危险)
git checkout -- 文件名

#取消暂存的文件
git reset HEAD 文件名

#跳过暂存区直接提交仓库
git commotion -a -m ”备注信息“

#从仓库和工作区同时移除对应文件
git rm -f 文件名
#只从仓库中移除文件,保留工作区对应文件
Git rm --cacher 文件名

#查看提交历史
git log  //所有历史版本
git log -2  //最近两次的历史版本
git log -2 --pretty=oneline  //一行中上显示
git log -2 --pretty=format:”%h | %an | %ar | %s"  //自定义格式显示

#回退到指定版本
git reset --hard 版本ID

#手动建立.gitignore文件(忽略文件)文件内填写如下信息的话:
*.a       //忽略所有 .a 文件
!lib.a    // 所有的 lib.a 文件不忽略 需跟踪
/TODO   //只忽略当前目录下的TODO文件,而不忽略其他文件下的TODO文件
build/      //忽略任何目录下的 build 文件夹
doc/*.pdf   //忽略doc文件夹里的所有一级 .pdf 文件  二级之后的不忽略
doc/**/*.pdf  //忽略doc文件夹里的所有包括子孙代目录下的.pdf文件

二、Git分支操作(本地仓库)

1、理解概念

在初始化本地 Git 仓库的时候,Git 默认已经帮我们创建了一个名字叫做 master 的分支。通常我们把这个master 分支叫做主分支。

在实际工作中,master 主分支的作用是:用来保存和记录整个项目已完成的功能代码。 因此,不允许程序员直接在 master 分支上修改代码,因为这样做的风险太高,容易导致整个项目崩溃。

由于程序员不能直接在 master 分支上进行功能的开发,所以就有了功能分支的概念。

功能分支指的是专门用来开发新功能的分支,它是临时从 master 主分支上分叉出来的,当新功能开发且测试 完毕后,最终需要合并到 master 主分支上。

2、关于分支的命令

#查看分支列表 带*的是当前所处分支
git branch

#创建分支
git branch 分支名称
如:git branch login //注意:只能在主分支下创建了分支,而且创建了分支还在主分支上,并未转到创建的分支上 git checkout -b 分支名称
如:git checkout -b login //创建了分支后直接切换到改分支 b 就是branch意思 #切换分支 git checkout 需要转去的分支名称
如:git checkout login #合并分支 git checkout master //先切换到master主分支上 git merge 被合并的分支名称 //将需要合并的分支名称合并到master主分支上,此时被合并的分支并未删除 #删除分支 git branch -d 分支名称
如:git branch -d login #合并时遇到冲突的处理 先手动处理冲突 在输入以下命令: git add . //提交到暂存区 git commit -m “备注” //提交到仓库

三、Git本地仓库与远程仓库操作(GitHub)

 1、GitHub远程仓库与本地仓库的两种关联方式

1)HTTPS:零配置;但是每次访问仓库时,需要重复输入 Github 的账号和密码才能访问成功

2)SSH:需要进行额外的配置;但是配置成功后,每次访问仓库时,不需重复输入 Github 的账号和密码(推荐)

下面只提供SSH方式:

SSH key 的作用:实现本地仓库和 Github 之间免登录的加密数据传输。SSH key 的好处:免登录身份认证、数据加密传输。
SSH key 由两部分组成,分别是:
1)id_rsa(私钥文件,存放于客户端的电脑中即可)

2)id_rsa.pub(公钥文件,需要配置到 Github 中)

具体配置查看我的博文:Git安装和配置

接下来的操作(关联本地仓库和GitHub仓库):

 2、远程GitHub仓库与本地仓库操作的其他命令

#克隆远程仓库到本地
git clone 远程仓库地址

#第一次将本地分支推送到远程仓库 -u表示关联
git push -u 远程仓库别名(即origin) 本地分支名称:远程分支名称(不需要重命名的话只填本地分支名称)
例如:git push -u origin login

#除第一次,之后的本地分支推送到远程仓库只需要
git push

#查看远程仓库中所有的分支列表
git remote show 远程仓库名称

#把远程分支跟踪到本地分支(即下载)
git checkout 远程分支名称

#把远程分支跟踪(下载)到本地分支并进行重命名
git checkout -b 本地分支名称 远程仓库名称/远程分支名称

#拉取远程修改过的分支到本地对应分支
git pull

#删除远程分支
git push 远程仓库名称 --delete 远程分支名称
如:git push origin --delete login

最后附上速查表

 

posted @ 2022-04-01 22:39  RHCHIK  阅读(20)  评论(0编辑  收藏  举报