2. git命令行操作之本地库操作
2.1 本地库初始化
git init 命令
用于创建一个空的Git本地仓库或重新初始化一个现有本地仓库
注:.git目录中存放的是本地库相关的子目录和文件,不要删除也不要随意修改

git config命令
用于区分不同开发人员的身份
注:这里设置的签名和登录远程库(代码托管中心)的账号密码无关
- git config:项目级别或仓库级别,仅在当前本地库范围有效

- git config --global:系统用户级别:登录当前os的用户范围

就近原则:项目界别优先于系统用户级别。二者都有时采用项目级别签名,二者都没有是不被允许的即git会报错
2.2 本地库基本操作
git status命令
查看工作区,暂存区状态

git add [file name]命令
将工作区的新建/修改添加到暂存区
注:git add 是一个多功能命令
a. 使用它跟踪新文件
b. 将已跟踪的文件加入到暂存区
c. 还能用于合并时将有冲突的文件标记为已解决的状态

git commit [file name]命令
将暂存区的内容提交到本地库
可加参数 -m "commit message 注释",这里不加-m后面也要添加注释

git log命令
查看历史记录
1.多屏显示控制方式
空格 -- 向下翻页
b -- 向上翻页
q -- 退出
2.参数(查看历史记录的几种不同方式)
git log --pretty=oneline //每条日志只显示一行
git log --oneline //每条日志只显示一行,且哈希值只显示一部分
git reflog //在oneline的基础上增加了:HEAD@{移动到当前版本所需的步数}




git reset --hard命令
版本的前进后退
注意:
- 参数除了--hard还有使用--soft参数,--mixed参数
2. 三个参数的区别:
--soft:仅仅在本地库移动HEAD指针
--mixed:在本地库移动HEAD指针,重置暂存区
--hard:在本地库移动HEAD指针,重置暂存区,工作区
git reset --hard [局部索引值]
基于索引值操作(推荐)

git reset --hard HEAD^
使用^符号,只能后退

git reset --hard HEAD~数字
使用~符号,只能后退

使用 git reset --hard [局部索引值] 实现删除文件的找回
前提:删除前,文件存在的状态已经提交到了本地库



git diff [file name]命令
用于比较工作区和暂存区中文件的差异
注:如果不带文件名则是比较多个文件

2.3 本地库分支管理
分支理解
在版本控制过程中,使用多条线同时推进多个任务

分支的好处
同时并行推进多个功能开发,提高开发效率
各个分支在开发过程中,如果某一个分支开发失败,不会对其他分支有任何影响。失败的分支删除重新开始即可
分支操作
git branch 分支名
创建分支

git branch -v 分支名
查看分支

git checkout 分支名
切换分支

git merge 有新内容的分支名
合并分支,指定将哪一个分支的修改拿到当前分支上来
第一步:切换到接受修改的分支上
第二步:执行merge命令

解决冲突
第一步:编辑文件,删除特殊符号
第二部:把文件修改到满意的程度
第三步:git add[文件名]
第四步:git commit -m "日志信息"


2. git命令行操作之本地库操作的更多相关文章
- 3.Git 命令行操作
1.Git 命令行操作(本地库操作): 1.1. 创建本地库(本地库初始化): 第一步:首先在D盘建了个名为git空文件夹,命令行中cd到这个文件夹: 第二步:通过git init命令把这个目录变成G ...
- GIT → 05:Git命令行操作
5.1 打开命令行窗口 安装Git后,在资源管理器的空白处,单击鼠标右键打开窗口,点击 Git Bash Here ,打开Git命令行窗口,在窗口中可直接使用Linux命令操作: 5.2 初始化Git ...
- windows下使用TortoiseGit代替Git命令行操作
windows下使用TortoiseGit代替Git命令行操作 大家在使用svn的时候,都非常喜欢使用小乌龟,也就是TortoiseSVN:那么git也有小乌龟版本,即TortoiseGit. 1.安 ...
- Git命令行(转用于学习和记录)
Git命令行介绍和使用说明(持续更新) 参见:<Git 中文简体教程> 一. 命令“git”或者“git help”查询常用命令 [add]: “git add”——不但是用来添加不在版本 ...
- 【重要】使用Git命令行上传到GitHub上
[本人GitHub账号:] 用户名:chenhongshuang 密码:shuangshuang6300 邮箱:2452420371@qq.com 进入GitHub账号后 1·新建项目文件名称例dem ...
- git 命令行
在使用 git 命令行之前需要下载安装软件官方网站:https://git-scm.com/window 或者 mac 等其它版本自行下载 使用方法一:安装后在项目文件夹中右键菜单会有个 Git Ba ...
- git 命令行下浏览器tig使用记录
git 命令行下浏览器tig使用记录 tig 是一款优化 git 命令行的工具,使 git 命令行更加的便捷人性化 .如果用习惯了,会上瘾. 以下是一些使用记录: 安装成功后,在 Repo 文件夹下, ...
- Git的基本使用方法和安装&心得体会(使用git命令行)
这是补发的,使用命令行操作的. (1)选择本地repository的路径 找到后点鼠标右键,选择git bash here. (2) clone到本地 在命令行输入 git clone ADDRESS ...
- git命令行工作的正确姿势
git命令行创建并提交新分支到mater分支的常规步骤 git branch new_branch git status 查看修改的文件 git add changed_files git commi ...
- git命令行工作环境配置【转】
转自:http://www.cocoachina.com/ios/20171115/21163.html 本文为CocoaChina网友whf5566投稿 前言 笔者一直使用git的图形化工具sour ...
随机推荐
- [Luogu P2341] [HAOI2006]受欢迎的牛 (缩点+bitset)
题面 传送门:https://www.luogu.org/problemnew/show/P2341 Solution 前排提示,本蒟蒻做法既奇葩又麻烦 我们先可以把题目转换一下. 可以把一头牛喜欢另 ...
- Windows 10 启动出现蓝屏 终止代码:UNMOUNTABLE_BOOT_VOLUME
解决办法:在命令符窗口中[管理员权限] 1.– 修复Windows文件:损坏的Windows文件可能会导致严重的问题. sfc /scannow 2 .– 修复硬盘:确保您的硬盘依次运行,以及Wind ...
- 835. Image Overlap —— weekly contest 84
Image Overlap Two images A and B are given, represented as binary, square matrices of the same size. ...
- hdu3974 Assign the task线段树 dfs序
题意: 无序的给编号为1-n的员工安排上下级, 操作一:给一个员工任务C,则该员工以及他的下级任务都更换为任务C 操作二:询问一个员工,返回他的任务 题解: 给一个员工任务,则他所在组都要改变,联 ...
- PhpExcel PhpSpreadsheet 锁定单元格 正确做法!!
首先声明 PhpExcel 已经停止更新,转而代之的是 PhpSpreadsheet : 但是 !!不必担心 PhpSpreadsheet 包含了大部分的 PhpExcel 的功能 : //code ...
- 部署Dotnet Core应用到Kubernetes(一)
最近闲了点,写个大活:部署Dotnet应用到K8s. 写在前边的话 一直想完成这个主题.但这个主题实在太大了,各种拖延症的小宇宙不时爆发一下,结果就拖到了现在. 这个主题,会是一个系列.在这个 ...
- 09线程隔离的g对象
1,g是global的意思. g对象再一次请求中的所有的代码的地方,都是可以使用的. 同一次请求,那么在这个项目的所有地方都可以用了. from flask import Flask,request, ...
- Spider--实战--selenium_12306
# login12306_02 # 图像识别涉及到深度学习,这里直接将验证码识别任务发送到大佬的验证码解析地址,不过现在已经失效了,程序跑到这会报错. # 用户名和密码存储在本地工作目录中的 user ...
- react 中组件状态的一些理解
组件状态:即 state 只有当state发生变化时,组件才会更新. 当一个html标签的值依赖于state的值得时候,如果state的值没有更新时,这个标签的值无论如何也是不会更新的. 看下面示例: ...
- mysql中delete from t1 where id = 10加锁状况叙述
在Next_Key Lock算法中,不仅仅锁定住所找到的索引,而且还锁定住这些索引覆盖的范围.因此在这个范围内的插入都是不允许的.这样就避免了在这个范围内插入数据导致的幻读问题. delete fro ...