有关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 -s2 能够使用 Github 创建和维护远程仓库
⚫ 能够配置 Github 的 SSH 访问
⚫ 能够将本地仓库上传到 Github3 能够掌握 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
最后附上速查表
本文来自博客园,作者:RHCHIK,转载请注明原文链接:https://www.cnblogs.com/suihung/p/16088794.html