加入收藏 | 设为首页 | 会员中心 | 我要投稿 湖南网 (https://www.hunanwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 建站 > 正文

最常见的 Git 问题和操作清单汇总

发布时间:2019-08-27 15:32:56 所属栏目:建站 来源:前端瓶子君
导读:弁言 本文清算自事变多年以来碰着的全部 Git 题目汇总,之前都是忘记的时辰去看一遍操纵,这次从头清算了一下,发出来利便各人保藏以及必要的时辰查找谜底。 一、必备常识点 客栈 Remote: 长途主客栈; Repository: 当地客栈; Index: Git追踪树,暂存区; w
副问题[/!--empirenews.page--]

弁言

本文清算自事变多年以来碰着的全部 Git 题目汇总,之前都是忘记的时辰去看一遍操纵,这次从头清算了一下,发出来利便各人保藏以及必要的时辰查找谜底。

一、必备常识点


最常见的 Git 题目和操纵清单汇总

客栈

  1. Remote: 长途主客栈;
  2. Repository: 当地客栈;
  3. Index: Git追踪树,暂存区;
  4. workspace: 当地事变区(即你编辑器的代码)

二、git add 提交到暂存区,堕落怎么办

一样平常代码提交换程为:事变区 -> git status 查察状态 -> git add . 将全部修改插手暂存区-> git commit -m "提交描写" 将代码提交到 当地客栈 -> git push 将当地客栈代码更新到 长途客栈

场景1:事变区

当你改乱了事变区某个文件的内容,想直接扬弃事变区的修改时,用呼吁git checkout -- file。

  1. // 扬弃事变区的修改 
  2. git checkout -- <文件名> 

场景2:暂存区

当你不单改乱了事变区某个文件的内容,还 git add 添加到了暂存区时,想扬弃修改,分两步,第一步用呼吁 git reset HEAD ,就回到了场景1,第二步按场景1操纵。

  1. // 把暂存区的修改取消掉(unstage),从头放回事变区。 
  2. git reset HEAD <文件名>  

三、git commit 提交到当地客栈,堕落怎么办?

1. 提交信息堕落

变动 commit 信息

  1. git commit --amend -m“新提交动静” 

2. 漏提交

commit 时,漏掉提交部门更新,有两种办理方案:

方案一:再次 commit

  1. git commit -m“提交动静“

此时,git 上会呈现两次 commit

方案二:漏掉文件提交到之前 commit 上

  1. git add missed-file // missed-file 为漏掉提交文件 
  2. git commit --amend --no-edit 

--no-edit 暗示提交动静不会变动,在 git 上仅为一次提交

3. 提交织误文件,回退到上一个 commit 版本,再 commit

git reset

删除指定的 commit

  1. // 修改版本库,保存暂存区,保存事变区 
  2. // 将版本库软回退1个版本,软回退暗示将当地版本库的头指针所有重置到指定版本,且将这次提交之后的全部改观都移动到暂存区。 
  3. git reset --soft HEAD~1 
  4.  
  5. // 修改版本库,修改暂存区,修改事变区 
  6. //将版本库回退1个版本,不只仅是将当地版本库的头指针所有重置到指定版本,也会重置暂存区,而且会将事变区代码也回退到这个版本 
  7. git reset --hard HEAD~1 
  8. // git版本回退,回退到特定的commit_id版本,可以通过git log查察提交汗青,以便确定要回退到哪个版本(commit 之后的即为ID); 
  9. git reset --hard commit_id  

git revert

取消 某次操纵,此次操纵之前和之后的commit和history城市保存,而且把这次取消

作为一次最新的提交

  1. // 取消前一次 commit 
  2. git revert HEAD 
  3. // 取消前前一次 commit 
  4. git revert HEAD^ 
  5. // (好比:fa042ce57ebbe5bb9c8db709f719cec2c58ee7ff)取消指定的版本,取消也会作为一次提交举办生涯。 
  6. git revert commit 

git revert是提交一个新的版本,将必要revert的版本的内容再反向修改归去,版本会递增,不影响之条件交的内容

git revert 和 git reset 的区别

  • git revert是用一次新的commit往返滚之前的commit,git reset是直接删除指定的commit。
  • 在回滚这一操纵上看,结果差不多。可是在日后继承merge早年的老版本时有区别。由于git revert是用一次逆向的commit“中和”之前的提交,因这天后归并老的branch时,导致这部门改变不会再次呈现,可是git reset是之间把某些commit在某个branch裳?佚,因而和老的branch再次merge时,这些被回滚的commit应该还会被引入。
  • git reset 是把HEAD向后移动了一下,而git revert是HEAD继承提高,只是新的commit的内容和要revert的内容正好相反,可以或许抵消要被revert的内容。

四、常用呼吁

1. 初始开拓 git 操纵流程

  • 克隆最新主分支项目代码 git clone 地点
  • 建设当地分支 git branch 分支名
  • 查察当地分支 git branch
  • 查察长途分支 git branch -a

切换分支 git checkout 分支名 (一样平常修改未提交则无法切换,巨细写题目常常会有,可逼迫切换 git checkout 分支名 -f 非必需慎用)

将当地分支推送到长途分支 git push <长途客栈> <当地分支>:<长途分支>

2. git fetch

将某个长途主机的更新,所有/分支 取回当地(此时之更新了Repository)它取回的代码对你当地的开拓代码没有影响,如需彻底更新需归并或行使git pull

3. git pull

拉取长途主机某分支的更新,再与当地的指定分支归并(相等与fetch加上了归并分支成果的操纵)

4. git push

将当地分支的更新,推送到长途主机,其呼吁名目与git pull相似

(编辑:湖南网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读