git相关问题解析,你想要的都有

测验一:

装备ssh config

# gitcode - csdn
Host gitcode.net
  HostName gitcode.net
  PreferredAuthentications publickey
  IdentityFile ~/.ssh/gitcode
# gitlab
Host gitlab.com
  HostName gitlab.com
  PreferredAuthentications publickey
  IdentityFile ~/.ssh/gitlab-rsa
# github
Host github.com
  HostName github.com
  PreferredAuthentications publickey
  IdentityFile ~/.ssh/id_rsa
# gitee
Host gitee.com
  HostName gitee.com
  PreferredAuthentications publickey
  IdentityFile ~/.ssh/id_rsa
# 公共装备
# Host *
#   key value
# 其它密钥对阐明
# 18143945157 : github-cli 运用的
# gh-pages : hexo deploy_key 设置

再次测验衔接

ssh -T git@gitlab.com

测验二

ssh-keygen -R 你要拜访的IP地址
ssh-keygen -R git@gitlab.com:all-smile/gitbook.git
Host git@gitlab.com:all-smile/gitbook.git not found in /c/Users/xiao/.ssh/known_hosts

修正 known_hosts 的文件姓名,也便是让它不起效果。(host)

从头clone ,生成新的 known_hosts

ping gitlab.com

修正commit提交信息

状况一、修正最终一次的提交信息

  1. git commit --amend

然后再vim修正器里边(详细以什么方法翻开要看git bash的装备,能够装备成 notepad++, 或许运用 Git Extensions)修正保存即可

  1. git push

状况二、修正指定commit的提交信息

  1. git log 检查信息,获取到commmit-id

  2. git rebase -i 6579ghjk^

变基到指定的commit-id版别, 并进入到一个可修正的界面。在修正区顶部,会列出这次 rebase 操作所触及的一切 commit 提交记载的摘要,它们每一行默许都是以 pick 最初的。找到你想要修正的那个 commit,将行首的 pick 关键字修正为 edit。然后保存并退出。这么做能够在履行和指定 commit 有关的 rebase 操作时暂停下来让咱们对该 commit 的信息进行修正

  1. git commit –amend 修正commit信息

  2. 履行 git rebase –continue 指令完结剩下的 rebase 操作。

假如需求修正多个提交记载的信息,则重复履行 2、3过程,直到呈现以下输出:

git rebase --continue
Successfully rebased and updated refs/heads/develop

到这儿现已完结了变基操作的一切节点,

  1. 履行 git log 指令检查咱们方才的修正状况,承认已修正的内容和预期共同。

  2. git push

Git本地有四个作业区域

作业目录(Working Directory)、暂存区(Stage/Index)、资源库(Repository或Git Directory)、git库房(Remote Directory)。文件在这四个区域之间的转化联系如下

git相关问题解析,你想要的都有

  • Workspace: 作业区,便是你平常寄存项目代码的当地

  • Index / Stage: 暂存区,用于暂时寄存你的改动,事实上它仅仅一个文件,保存行将提交到文件列表信息

  • Repository: 库房区(或版别库),便是安全寄存数据的方位,这儿面有你提交到一切版别的数据。其间HEAD指向最新放入库房的版别

  • Remote: 长途库房,保管代码的服务器,能够简略的认为是你项目组中的一台电脑用于长途数据交换

重置提交

状况一、没有push到长途的状况(仅仅在本地commit)

git reset --soft|--mixed|--hard <commit_id>
git push develop develop --force  (本地分支和长途分支都是 develop)
  • --mixed 为默许,能够不必带该参数,用于重置暂存区的文件与上一次的提交(commit)坚持共同,作业区文件内容坚持不变。仅仅将git commit和index 信息回退到了某个版别。

  • --soft 保存源码,只回退到commit信息到某个版别.不触及index的回退,假如还需求提交,直接commit即可。 git reset --soft HEAD

  • --hard 参数吊销作业区中一切未提交的修正内容,将暂存区与作业区都回到上一次版别,并删去之前的一切信息提交。

状况二、现已push到长途的状况

关于现已把代码push到线上库房,你回退本地代码其实也想一起回退线上代码,回滚到某个指定的版别,线上线下代码坚持共同,你要用到下面的指令

git revert <commit_id>

revert 之后你的本地代码会回滚到指定的前史版别,这时你再 git push 既能够把线上的代码更新。

git revert是用一次新的commit来回滚之前的commit

HEAD 阐明:

  • HEAD 表明当时版别
  • HEAD^ 上一个版别
  • HEAD^^ 上上一个版别
  • HEAD^^^ 上上上一个版别
  • 以此类推…

能够运用 ~数字表明

  • HEAD~0 表明当时版别
  • HEAD~1 上一个版别
  • HEAD^2 上上一个版别
  • HEAD^3 上上上一个版别
  • 以此类推…

其它相关文章引荐

  • git submodule
  • js获取git分支信息
  • git 组合提交信息
  • 从Git规划原理到事务体系规划与开发

git相关问题解析,你想要的都有

我是 甜点cc

微信大众号:【看见另一种或许】

专心前端开发,也喜爱专研各种跟本职作业联系不大的技能,技能、产品爱好广泛且稠密。本号首要致力于共享个人经验总结,期望能够给一小部分人一些细小协助。

本文正在参与「金石方案 . 分割6万现金大奖」