(02)Git命令行操作

  一、本地库操作与设置签名

  1、本地库初始化

  上一篇介绍了安装Git客户端工具,安装完后在系统的任何地方右键都会看到Git GUI Here 和 Git Bash Here 两个菜单,点击 Git GUI Here 就会进入到Git的命令行界面,在该界面中可以完全使用Linux命令,如图:

  本地初始化命令是:git init,执行该命令,会在所在目录创建一个.git的隐藏文件夹。

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

  2、设置签名,区分不同开发人员的身份

  项目级别/仓库级别:仅在当前本地库范围内有效

  git config user.name xxx

  git config user.email [email protected]

  信息保存位置:./.git/config 文件,如下图

  系统用户级别:登录当前操作系统的用户范围

  git config --global user.name tom_glb

  git config --global [email protected]

  信息保存位置:~/.gitconfig 文件,如下图

  优先级采用就近原则:二者都有时采用项目级别的签名,只有系统用户时采用系统用户级别,必须设置一种级别,一般用系统级别。

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

  二、基本操作

  1、查看状态、添加、提交

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

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

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

  演示:

  On branch master:在master分支

  No commits yet:本地库还没有任何东西提交(因为提交的东西放在本地库)

  nothing to commit (create/copy files and use "git add" to track):暂存区没有任何可以提交的东西,可以用git add命令追踪

  (1)新建good.txt,执行git status

  文件变红,可以用git add添加到暂存区,下面执行git add good.txt

  已经添加到暂存区了,红色框中的不用管,关于行末转化什么的。在执行一下git status

  暂存区有变化,可以被提交,显示new files,文件变成绿色,也可以执行git rm --cached good.txt移除暂存区,请看下图

  回到了新建后的状态。现在添加到暂存区,执行git commit good.txt,会跳转到输入提示页面,如下:

  输入提示,保存退出,可以看到提示:“my first commit hahahha”,如下图

  [master (root-commit) c8b004c] my first commit hahahha:master分支,root-commit第一次提交,c8b004c理解为版本,现在查看一下状态

  nothing to commit, working tree clean:没有可以提交的,工作区、暂存区 is clean。

  (2)编辑并保存good.txt,执行git status

  文件变成了红色的,并且是modified,可以先执行git add good.txt(添加到暂存区),再执行git commit good.txt(提交到本地库)

   1 file changed, 1 insertion(+):修改了一个文件,添加了一行。

  修改后也可以直接提交,执行git commit -m "My test commit" good.txt

  2、查看历史记录、前进后退版本

  git log:显示完整历史记录信息,包括哈希值、提交者、邮箱、提交日期、提交注释。

  多屏翻页,空格向下翻页、b向上翻页、q退出

  git log --pretty=oneline:显示哈希值和注释

  git log --oneline:显示前面的部分哈希值和注释

  git  reflog:显示部分哈希值、注释,回退步数([email protected]{移动到当前版本需要多少步}),可以查看之前的版本

  前进或者回退

  git reset --hard [局部索引值] :回退到指定的哈希值版本

  git reset --hard HEAD^:回退一步

  git reset --hard HEAD^^:回退两步,几个^表示回退多少步

  git reset --hard HEAD~n:回退n步

  注意:^、~只能回退

  演示:

  当前版本是1f86cfa,HEAD->master表示当前版本,master分支。

  回退到j , git reset --hard 3a20344

  回退到h,git reset --hard  5906e69

  从g回退到f,执行 git reset --hard HEAD^

  从f回退到c,git reset --hard HEAD^^^

  先向前进到k( git reset --hard 1f86cfa),在回退到f ,需要5步(git reset --hard HEAD~5)

  git reset 三个参数比较

  --soft 参数:仅仅在本地库移动HEAD 指针

  --mixed 参数:在本地库移动HEAD 指针、重置暂存区

  --hard 参数:在本地库移动HEAD 指针、重置暂存区、重置工作区

  3、文件的删除与找回

   rm xxx:删除文件xxx,其实是将文件移到了工作区,真正的删除还要执行 git add 和 git commit

  删除操作尚未提交到本地库找回:指针位置使用HEAD,执行git reset --hard HEAD

  删除操作已经提交到本地库找回:指针位置指向历史记录,执行git reset --hard 哈希值

  注意:只有曾经提交到过本地库的才能找回。

  示例:本地库添加aaa.txt,删除并找回。

  4、文件比较

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

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

  不带文件名比较多个文件

  演示:红色的是删掉的,绿色的是增加的

  演示:比较全部文件,不加文件名,将aaa.txt提交到暂存区后,只比较bbb.txt,因为只有bbb.txt工作区和暂存区不一样。

  将两个文件提交,演示比较历史版本:

  5、分支管理

  (1)分支概述:本地库会默认创建一个master(主分支),如果有开发任务可以复制出别的分支,比如feature_blue分支、feature_game分支等,每个分支可以互不影响、并存开发。假如有别的分支开发失败,不会影响master分支,始终保持master分支是完好的。其它分支开发完、测试完合并到master分支,master作为一个大版本升级。假如master分支上发现bug,创建一个hot_fix分支,修复完再合并到master上。

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

  分支好处:

  a、同时并行推进多个功能开发,提高开发效率;

  b、各个分支在开发过程中,如果某一个分支开发失败,不会对其他分支有任何影响。失败的分支删除重新开始即可。

  (2)分支操作:

  git branch -v:查看分支,当前分支显示绿色

  git branch 分支名:创建分支,创建后的分支与主分支内容保存一致

  git checkout 分支名:切换分支,切换到哪个分支操作哪个分支

  git merge 分支名(有新内容的):合并分支,合并分支前必须切换回到接收内容的分支

  示例:创建分支hot_fix,并修改内容提交,切换回master分支后,master分支无法看到最新的内容,hot_fix分支的版本高一个

  示例:将hot_fix分支合并到master分支,master与hot_fix版本号一致,并且看到最新的内容

  合并冲突:两个分支修改了同一个文件的同一个位置,会产生冲突,只能手工合并分支

  合并步骤:

  第一步:编辑文件,删除特殊符号

  第二步:把文件修改到满意的程度,保存退出

  第三步:git add [文件名]

  第四步:git commit -m "日志信息",注意:此时commit 一定不能带具体文件名

  示例:阅读步骤,先左右后上下

原文地址:https://www.cnblogs.com/javasl/p/12562352.html

时间: 2024-08-10 06:56:06

(02)Git命令行操作的相关文章

3.Git 命令行操作

1.Git 命令行操作(本地库操作): 1.1. 创建本地库(本地库初始化): 第一步:首先在D盘建了个名为git空文件夹,命令行中cd到这个文件夹: 第二步:通过git init命令把这个目录变成Git可以管理的仓库: 文件夹会生成一个.git目录,不用去改它,这个目录默认是隐藏的,用ls -lah命令就可以看见 注意:.git 目录中存放的是本地库相关的子目录和文件,不要删除,也不要进行修改: 参考:https://blog.csdn.net/songkuiyuansky/article/d

GIT → 05:Git命令行操作

5.1 打开命令行窗口 安装Git后,在资源管理器的空白处,单击鼠标右键打开窗口,点击 Git Bash Here ,打开Git命令行窗口,在窗口中可直接使用Linux命令操作: 5.2 初始化Git本地库 命令: git init效果: 注意: .git 目录中存放的是本地库相关核心配置文件,也不要随意删除与修改 .git 目录仓库目录说明: hooks目录:脚本文件的目录. info目录:保存了不希望在 .gitignore 文件中管理的忽略模式的全局可执行文件 logs目录:日志目录 ob

git命令行操作

从本地上传代码到仓库(假设已经建好仓库): 1.初始化: git init 2.将所有文件加入缓存区: git add * 3.提交当前工作空间的修改内容: git commit -m 'commit info' 4.将仓库连接到远程服务器(server仓库地址): git remote add origin <server> 5.改动内容推送到远程master(如果报rejected错误,要先pull一下再push): git push -u origin master (在第一次推送mas

Git 三、Git 命令行操作

1.本地库初始化 在本地新建git仓库D:\git\gitRep,右键-->git bush here (1)命令:git init (2)效果: (3)注意:.git 目录中存放的是本地库相关的子目录和文件, 不要删除, 也不要胡乱修改. 2.设置签名 (1)作用: 区分不同开发人员的身份 (这里设置的签名和登录远程库(代码托管中心)的账号. 密码没有任何关系)(2)命令 [1]项目级别/仓库级别: 仅在当前本地库范围内有效 git config user.name [name] git co

Git 命令行操作介绍

git 客户端 功能 命令 可选参数  说明 SSH ssh-keygen   生成密钥(注意要在~/.ssh文件夹执行,或生成后移动到.ssh) 仓库 git clone  -b | --branch 克隆指定分支 --depth <depth> 创建一个浅克隆,克隆指定历史提交记录 --shallow-since=<date> 创建一个浅克隆,克隆指定日期的历史提交记录 git init   初始化仓库 分支管理 git commit   提交更改到仓库 git merge  

gitlab的git命令行操作

[email protected] MINGW64 /f/BI/bi/二期/脚本 (master) $ mkdir ~/.ssh mkdir: cannot create directory ‘/c/Users/Administrator/.ssh’: File exi sts [email protected] MINGW64 /f/BI/bi/二期/脚本 (master) $ cd ~/.ssh [email protected] MINGW64 ~/.ssh $ git config --

命令行操作svn和git和git

前几天在写代码的时候电脑突然坏掉,老大交代的任务没完成,非常痛恨自己用svn或者git保存代码,相信很多程序员遇到过,硬盘坏掉,存在硬盘中的代码丢失,无法找回的问题,svn和git可谓程序员界的福音,那么问题来了,什么是svn和git呢? svn和git其实都是一种用来管理项目的控制版本工具,他们有很多好处,比如 1.防止代码丢失----可以把自己的代码上传到服务器上 2.适合多人开发----合并代码超级简单 3.能够进行版本回退 4.能解决冲突和bug 5.可以做分支 6.责任到人----可以

github linux 命令行操作实例

继续整理一下linux 下面使用命令行操作实例 首先创建文件目录 然后 执行 git clone 操作 [email protected]:~/桌面$ cd test/ [email protected]:~/桌面/test$ git clone https://github.com/timelessz/TESTDEMO.git正克隆到 'TESTDEMO'...remote: Counting objects: 3, done.remote: Total 3 (delta 0), reused

GitHub代码托管工具的命令行操作

一.首先需要在GitHub上注册一个账户,帐号密码情牢记. 二.生成SSH keys  添加自己电脑的SSH Key到github上,目的是要将自己的电脑本地与github关联起来,才能实现本地和远端的同步操作.  一下操作全部在终端完成. 生成步骤:1.检查是否存在SSH Keys $ ls -al ~/.ssh // Lists the files in your .ssh directory, if they exist 2.生成一个新的SSH Keys 第一步:需要验证注册的邮箱 $ s