git入门与基本使用(代码片段)

author author     2023-03-09     751

关键词:

11、分离头指针情况下的注意事项
 所谓分离头指针,即在git切换到某一commit时,没有绑定在分支或者tag上,此时如果在该commit下进行了文件修改,并且提交commit时,git在日后清理该提交而不保存,因此在进行commit查看时,最好绑定在某一branch或者tag上操作,当然这种操作的好处也存在,即不会破坏原有的branch环境。

$ git checkout 0bd98cb5d0d969cfc35d   #直接切换到commit上
Note: checking out ‘0bd98cb5d0d969cfc35d‘.

You are in ‘detached HEAD‘ state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by performing another checkout.

If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -b with the checkout command again. Example:

  git checkout -b <new-branch-name>

HEAD is now at 0bd98cb Add second file

$ git status                                        #此时状态,分离头指针状态
HEAD detached at 0bd98cb
nothing to commit, working tree clean

$ echo "Update second file " >> second.txt   #在分离头指针状态下,修改文件并提交

$ git commit -am"Update second file"
[detached HEAD 71faae4] Update second file
 1 file changed, 1 insertion(+)

 $ git checkout master
Warning: you are leaving 1 commit behind, not connected to
any of your branches:

  71faae4 Update second file

If you want to keep it by creating a new branch, this may be a good time
to do so with:

 git branch <new-branch-name> 71faae4

Switched to branch ‘master‘

$ gitk    #查看在分离头指针下的提交,可以发现git没有保存

技术图片

$ git branch newsecond 71faae4     #将修改的commit绑定到一个新的分支

$ gitk     #查看此时提交,可以发现git已经保存刚才的commit

技术图片

12、进一步理解HEAD和branch
 HEAD无论是在某一分支或者tag其,最终都会是在某一commit上。同时使用HEAD可以指代当前的commit。

$ cat .git/refs/heads/temp
7376bc5b2ebc3e13d4c4552ebdef348a17cd4eef

$ git cat-file -t 7376bc5b2
commit

13、怎么删除不需要的分支

$ git branch
  master
  newsecond
* temp

$ git branch -d newsecond
error: The branch ‘newsecond‘ is not fully merged.
If you are sure you want to delete it, run ‘git branch -D newsecond‘.

$ git branch -D newsecond
Deleted branch newsecond (was 71faae4).

$ git branch
  master
* temp

14、怎么修改最新commit的message

$ git log -n1      #修改前
commit 7376bc5b2ebc3e13d4c4552ebdef348a17cd4eef (HEAD -> temp)
Author: Jone <[email protected]>
Date:   Thu Mar 14 17:03:07 2019 +0800

    Update fourth file

$ git commit --amend                  #使用该命令进入vim编辑界面直接修改即可
[temp 097d397] Update fourth file.txt
 Date: Thu Mar 14 17:03:07 2019 +0800
 1 file changed, 1 insertion(+)

$ git log -n1            #修改后
commit 097d397f672da771da95cf9baf49057047846617 (HEAD -> temp)
Author: Jone <[email protected]>
Date:   Thu Mar 14 17:03:07 2019 +0800

    Update fourth file.txt

15、怎么修改老旧commit的message

$ git log -n3     #要修改导入第二个commit的message
commit 097d397f672da771da95cf9baf49057047846617 (HEAD -> temp)
Author: Jone <[email protected]>
Date:   Thu Mar 14 17:03:07 2019 +0800

    Update fourth file.txt

commit 1d63ec82259b237f58e7525ccf856a03fb880fcd
Author: Jone <[email protected]>
Date:   Thu Mar 14 17:01:46 2019 +0800

    Add fouth file

commit b843c287804d2b5886167740f9e6c0d327540ee1 (tag: 03tag)
Author: Jone <[email protected]>
Date:   Thu Mar 14 17:00:21 2019 +0800

    Add third file

$ git rebase -i b843c287804d2b588616    #选择倒数第二个commit的 base信息,即导入第三个commit
[detached HEAD bfd373a] Add fouth file.txt
 Date: Thu Mar 14 17:01:46 2019 +0800
 1 file changed, 1 insertion(+)
 create mode 100644 fourth.txt
Successfully rebased and updated refs/heads/temp.

第一张图为需要修改的信息,将pick改为r即可
技术图片
第二张图为修改后的commit 信息
技术图片

$ git log -n3     #查看修改后的message
commit ce587039661c88fd508035fd103a012e33c057ac (HEAD -> temp)
Author: Jone <[email protected]>
Date:   Thu Mar 14 17:03:07 2019 +0800

    Update fourth file.txt

commit bfd373ab1dd5b2d578bac9cacd4d89d0066c51af
Author: Jone <[email protected]>
Date:   Thu Mar 14 17:01:46 2019 +0800

    Add fouth file.txt

commit b843c287804d2b5886167740f9e6c0d327540ee1 (tag: 03tag)
Author: Jone <[email protected]>
Date:   Thu Mar 14 17:00:21 2019 +0800

    Add third file

git入门与基本使用(代码片段)

6、给文件重命名的简便方法使用:gitmove命令可以给暂存区中的文件重命名$gitmvfirst.txtfirst.md$gitstatusOnbranchmasterChangestobecommitted:(use"gitresetHEAD<file>..."tounstage)renamed:first.txt->first.md$gitcommit-m"movefirst.txttofirst.md"[master5d63d93]movefirst.t... 查看详情

git的入门与基本使用(代码片段)

基于苏玲老师<玩转Git三剑客>视频学习的一点总结。——极客时间1、版本控制系统的演变?VCS出现前??用目录拷贝区别不同版本??公共文件容易被覆盖??成员沟通成本很高,代码集成效率低下?集中式VCS??有集中的版本管理服务... 查看详情

git入门与基本使用(代码片段)

16、把连续的多个commit整理成1个commitce587039661c88fd508035fd103a012e33c057ac(HEAD->temp)Author:Jone<[email protected]>Date:ThuMar1417:03:072019+0800Updatefourthfile.txtcommitbfd373ab1dd5b2d578bac9cacd4d89d0066c51afAuthor:Jone<[email protected]>Date:ThuMar1417:01:... 查看详情

git-入门到熟悉_日志管理(代码片段)

文章目录Pre常用命令演示PreGit-入门到熟悉_Git基本概念与核心命令Git-入门到熟悉_分支管理Git-入门到熟悉_远程仓库管理在使用Git提交了若干更新之后,又或者克隆了某个项目,想回顾下提交历史,可以使用gitlog命令查... 查看详情

git-入门到熟悉_日志管理(代码片段)

文章目录Pre常用命令演示PreGit-入门到熟悉_Git基本概念与核心命令Git-入门到熟悉_分支管理Git-入门到熟悉_远程仓库管理在使用Git提交了若干更新之后,又或者克隆了某个项目,想回顾下提交历史,可以使用gitlog命令查... 查看详情

git与github入门基础(代码片段)

上节回顾初始化一个Git仓库用gitinit命令。将文件添加到Git仓库中主要有两个步骤:      第一步,使用命令gitadd<file>;        注意:使用gitadd.命令可以将全部文件同时添加到Git仓库缓存区。    &... 查看详情

git的入门到精通(代码片段)

git教程文章目录git教程1.版本管理工具概念2.版本管理工具介绍2.1版本管理发展简史(维基百科)2.1.1SVN(SubVersion)2.1.2Git3.Git发展简史4.Git的安装4.1git的下载4.2安装5.Git工作流程5.1Git初始化5.2git流程5.2.1流程图5.2.2概念即详解6.Git的基本... 查看详情

git基本配置与使用(代码片段)

step1:第一步当然是从git官网下载git了,一路默认安装即可。step2:配置个人信息  gitconfig--globaluser.name"YourName"   gitconfig--globaluser.email[email protected]    注意这里的--global,更改的配置文件位于用户主目录下,以后所... 查看详情

git的基本使用(代码片段)

目录git的介绍补充:git的基础使用相关知识区域:文件状态:本地库与远程库:windows中git的安装git的使用命令的使用位置:初始化仓库:设置签名:查看状态:提交到暂存区:提交到本地库:从暂存区移除文件:文件重命名:... 查看详情

git-入门到熟悉_分支管理(代码片段)

...;创建一个新分支删除分支gitbranch-d切换分支gitcheckoutPreGit-入门到熟悉_Git基本概念与核心命令接下来,我们聊一聊Git的分支管理使用分支意味着可以从 查看详情

git-入门到熟悉_分支管理(代码片段)

...;创建一个新分支删除分支gitbranch-d切换分支gitcheckoutPreGit-入门到熟悉_Git基本概念与核心命令接下来,我们聊一聊Git的分支管理使用分支意味着可以从 查看详情

git基本命令入门(代码片段)

文章目录Git基础一、Git结构二、Git命令行操作1、本地库初始化2、设置用户签名3、其它基本命令Git基础一、Git结构git由三部分组成:工作区:即普通文件,可以是代码类文本文件或是其它各种文件。暂存区:临时... 查看详情

三天入门docker-第一天:docker基本介绍与使用(代码片段)

Docker基本介绍与使用前言一、Docker介绍1.Docker架构2.Docker三大核心1)镜像2)容器3)仓库二、Docker安装1.下载Docker软件包2.Docker基础命令介绍1)镜像相关命令2)容器相关命令3.使用Docker实现Nginx网站前言我们这里... 查看详情

一篇搞定git基本使用(代码片段)

文章目录GitHub与Git的基本关系GitHub仓库创建分支拉去请求ForkGit工具安装Git大致控制流程本地操作创建本地仓库添加文件到暂存区将暂存区的文件拉到本地工作目录版本切换在Github上的操作下载代码仓库到本地更新远程仓库注意... 查看详情

git入门(代码片段)

目录Github命令操作配置基本信息向仓库添加文件修改仓库文件删除文件远程管理git仓库Error错误代码:![rejected]master->master(fetchfirst)Github命令操作配置基本信息配置用户名:gitconfig--globaluser.name‘Liu0506‘配置用户邮箱信息:gitconfig--g... 查看详情

gitlab搭建与基本使用(代码片段)

一、git、github、gitlab的区别Git是版本控制系统,Github是在线的基于Git的代码托管服务。GitHub是2008年由RubyonRails编写而成。GitHub同时提供付费账户和免费账户。这两种账户都可以创建公开的代码仓库,只有付费账户可以创建私有的... 查看详情

git基本使用方法(代码片段)

gitpull操作就可以从远程库中获取某个分支的更新,再与本地指定的分支进行自动merge(即使本地不存在这个分支)完整格式是:$gitpull<远程库名><远程分支名>:<本地分支名>比如,取回远程库中的online分支,与本地的onli... 查看详情

git基础与github(代码片段)

...绍Git与GitHubgit使用git架构git操作Git常用指令使用GitHub目的基本概念基本动作基本页面IDEA配置github并上传项目配置github在IDEA中设置Git在IDEA中设置GitHub初次提交代码到Github修改代码并提交总结过程中遇到的问题及解决方案github中所... 查看详情