程序地带

【Git】命令行操作


Git 命令行操作


1 本地库初始化

git init:初始化本地仓库


效果


注意:.git目录中存放的是本地库相关的子目录和文件,不要删除,也不要胡乱修改。


2 设置签名

形式:


用户名:tom
Email地址:[email protected]

作用:区分不同开发人员的身份


辨析:这里设置的签名和登录远程库(代码托管中心)的账号、密码没有任何关系。


命令


项目级别/仓库级别:仅在当前本地库范围内有效
git config user.nametom_pro
git config [email protected]
信息保存位置:./.git/config文件

系统用户级别:登录当前操作系统的用户范围
git config --global user.nametom_glb
git config --global [email protected]
信息保存位置:~/.gitconfig文件(~代表根目录)

级别优先级
就近原则:项目级别优先于系统用户级别,二者都有时采用项目级别的签名
如果只有系统用户级别的签名,就以系统用户级别的签名为准
二者都没有不允许
3 基本操作
3. 1 状态查看

git status:查看工作区、暂存区状态


3. 2 添加

git add [filename]:将工作区的“新建/修改”添加到暂存区


filename:为欲添加的文件名,*代表当前目录的所有文件。
3. 3 提交

git commit -m "commit message" [filename]:将暂存区的内容提交到本地库


3. 4 查看历史记录

git log:查看历史记录,显示完整的历史记录信息


多屏显示控制方式:


空格:向下翻页
b:向上翻页
q:退出

上面这种方法显示的历史记录可能不太好看:我们可以采用以下方法进行简化历史记录的显示:


git log --pretty=oneline:我们可以使用此命令让历史记录放在一行上


git log --oneline:缩短了哈希值的显示,只显示后面7位


上面的几种方法只能显示过去与现在


下面这个命令可以显示过去、现在和未来


git reflog:这种方式可以看到我们所有的历史记录,包括回退前、回退后、过去、现在、将来。

[email protected]{移动到当前版本需要多少步}


3. 5 前进后退

本质:使用git reflog来显示所有历史记录


可以使用以下方法来移动HEAD指针


基于索引值操作[推荐]


git reset --hard [局部索引值]
git reset --hard a6ace91

使用^符号:只能后退


git reset --hardHEAD^:一个^表示后退一步,n个表示后退n步

使用~符号:只能后退


git reset --hardHEAD~n:表示后退n步
3. 6 reset 命令的三个参数对比

原本本地库、暂存区、工作区三者版本一致:


--soft参数


仅仅在本地库移动HEAD指针

这里可以看出,我们的本地库版本退后了一步,而其他的都没改变

--mixed参数


在本地库移动HEAD指针
重置暂存区(重置,即 后退版本)

--hard参数(这个用的最多)


在本地库移动HEAD指针
重置暂存区
重置工作区

3. 7 删除文件并找回

前提:删除前,文件存在时的状态提交到了本地库。


操作:git reset --hard [指针位置]


删除操作已经提交到本地库:指针位置指向历史记录
删除操作尚未提交到本地库:指针位置使用HEAD
3. 8 比较文件差异

git diff [文件名]:将工作区中的文件和暂存区进行比较


git diff [本地库中历史版本] [文件名]:将工作区中的文件和本地库历史记录比较


git diff:不带文件名比较多个文件


4 分支管理
4. 1 什么是分支?

在版本控制过程中,使用多条线同时推进多个任务。


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

git branch [分支名]:创建分支


git branch -v:查看分支


git checkout [分支名]:切换分支


合并分支


第一步:切换到接受修改的分支(被合并,增加新内容)上
git checkout [被合并分支名]
第二步:执行merge命令
git merge [有新内容分支名]

解决冲突


冲突的表现


冲突的解决
第一步:编辑文件,删除特殊符号
第二步:把文件修改到满意的程度,保存退出
第三步:git add [文件名]

第四步:git commit -m "日志信息"


注意:此时commit一定不能带具体文件名


命令行常用操作步骤
情况一:创建自己的项目
1. 创建远程库



2. 创建远程库地址别名

git remote -v 查看当前所有远程地址别名
git remote add [别名] [远程地址]


3. 推送

git push [别名] [分支名]


推送需要输入账号和密码:


情况二:克隆别人的项目
1. 克隆远程仓库(从无到有)

git clone [远程地址]


效果


完整的把远程库下载到本地
创建 origin 远程地址别名
初始化本地库
情况三:更新已有的项目
1. 拉取(从旧到新)
pull=fetch+merge
git fetch [远程库地址别名] [远程分支名]
git merge [远程库地址别名/远程分支名]
git pull [远程库地址别名] [远程分支名]
git可视化操作——git GUI

我们介绍完了git的命令行操作,可能会有些朋友觉得这种操作实在是太麻烦了,所以接下来我们介绍一种git的可视化操作。
详情可以查看:git GUI可视化操作


版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/blknemo/p/14276616.html

随机推荐

c4dr20怎么安装oc渲染器怎么安装_C4D R20 Octane渲染器

C4DR20Octane渲染器是一款目前为止比较好用的GPU渲染神器。相信有很多用户都知道或者使用这款渲染器,那么这个版本基于CPU的无偏差渲染,以无与伦比的速度创建最高质...

鞠慧敏 阅读(729)

Multi-Scale Context Aggregation By Dilated Convolutions

1Introduction之前的网络比如FCN或者DeepLabv1都存在从小的分辨率图像往大了进行上采样,那么问题就来了,下采样是必要的嘛?话有一些方法提供...

蜡笔小楚 阅读(683)

Linux基本命令-01

1,小技巧Ctrl+shift+=  :放大终端窗口的字体显示Ctrl+-  :缩小中断窗口的字体显示2,常用的...

晓晓的天空194 阅读(958)

去雾综述_图像去雾技术综述

1、概述图像去雾的研究算法有很多,但是主要分为两类:基于图像增强的去雾算法和基于图像复原的去雾算法。基于图像增强的去雾算法去除图像的噪声,提高图像的对比度&#...

BE东欲 阅读(848)