从工作到现在Git操作总结

2022-12-28 0 689

Bokaro:提前布局 – 后端沙浦岛

https://juejin.cn/post/6891146425590087693

写在后面

你采用过 Git 吗?也许你还未碰触过Git,也许你早已采用了一两年,但它也许仍然令你疑惑。

责任编辑主要就传授他们自学Git的方式和化解他们邂逅的各式各样Git难题。

假如我们还想对Git有更进一步棋一步棋的科学研究能出访 Git-book。

https://git-scm.com/book/zh/v2

Git常用命令

git二连

git add . 将大部份更动放入甲类

git commit -m “叙述”

递交并内含概述重要信息

git pull 从远距库房拉去标识符

git push 发送标识符到远距库房(master

分支)

余下常用命令

git log

查阅笔记

git log

-p 查阅详尽发展史

git logstat

查阅概要统计数据

git status 查阅组织工作区状态

git branch 名称 创建组成部分

git checkout 名称 切换组成部分

git checkout -b 名称 创建并切换到新组成部分

git branch -d 名称 删除该组成部分(不能删除当前所在的组成部分,不能删除没有合并到master上的组成部分)

git branch -D 名称 删除该组成部分(能删除没有合并到master上的组成部分)

git commit –amend 对最新的一条commit进行修正

git reset

–hard HEAD^ 丢弃最新递交(未递交的内容会被擦掉)

git reset

–soft HEAD^ 丢弃最新递交(未递交的内容不会被擦掉)

git revert HEAD^ 回到某个commit

git rebase 目标基础点 重新设置基础点

git merge 名称 将组成部分合并到head指向的组成部分

git push

origin localbranch 将标识符发送到远距库房的指定组成部分

git push

-d origin branchName 删除远距分支

git stash 暂存标识符

git stash pop

弹出暂存标识符

配置别名

对常用的一些命令进行别名配置,提升他们的组织工作效率

git config —globalalias.st status git status ==>

git st

git config —global alias.ci commit git commit ==>

git ci

git config —globalalias.co checkout git checkout ==>

git co

git config —global alias.br branch git branch ==>

git br

git config —global alias.sh stash git stash ==>

git sh

git config —global alias.pop “stash pop” git stash pop ==>

git pop

常见难题和化解办法

git clone失败

报错提示

Could not read

from remote repository.

Please make sure you have the correct access rights

报错原因

SSH key失效 或者 他们没有权限

化解办法(一)——重新添加SSH key

1.ssh-keygen -t rsa -C “username” (注:username为你git上的用户名)

2.Generating public/private rsa key pair.Enter file in which to save the key (C:\Users\灏忛┈/.ssh/id_rsa): 直接回车

3.C:\Users\灏忛┈/.ssh/id_rsa already exists.Overwrite (y/n)? y 输入y

4.Enter same passphrase again: 直接回车

5.Your identification has been saved in C:\Users\灏忛┈/.ssh/id_rsa. 私钥保存的地址Your public key has been saved in C:\Users\灏忛┈/.ssh/id_rsa.pub. 公钥保存地址

6.根据路径找到公钥,将公钥添加到Git上

化解办法(二)—— 采用http的地址进行克隆

采用这种方式的话需要输入他们的账号和密码,有点麻烦,不建议采用

git pull失败(一)

报错提示

Your local

changes to the following files would be overwritten by merge:

报错原因

其他人修改了该文件递交到版本库中,而我本地也修改了该文件,致使拉去标识符的时候发生冲突

化解办法——贮存更改

依次进行如下操作方式

git stash将组织工作区恢复到上次递交的内容,同时备份本地所做的修

git pull拉取

git stash pop弹出他们最近保存的内容

查阅对应文件 化解冲突

从工作到现在Git操作总结

然后git 三连递交他们的标识符

git pull失败(二)

报错提示

Pulling is not

possible because you have unmerged files.

报错原因

修改的文件未递交

这个错误其实是这样子的——其实我之前早已pull过标识符了,然后出现了冲突,化解冲突之后,我想再pull一下时报的错,后来我才知道,化解掉冲突之后是需要再次commit的

化解办法——递交到本地

git add .嗯是的,这里 commit 前也需要先 add 一下git

git push失败

报错提示

fatal: Could not read

from remote repository.

Please make sure you have the correct access rights

报错原因

原因一:github上没有添加最新的公钥 原因二:网络未连接

原因一化解办法——配置公钥

1.找到公钥打开,并复制其内容

从工作到现在Git操作总结

2.添加公钥到github

从工作到现在Git操作总结从工作到现在Git操作总结

说一下为什么会这样,因为github和gitlab是共用同一个公钥和私钥,在做公司项目的时候,我clone失败(上面第一个错误)时,重新配置了公钥和私钥,所以此时我的github上没有我最新的公钥,导致我无法push

原因二化解办法——连接网络

网线松动

掉出公司内网,需要重新登录

WiFi没网

撤销对文件的修改

叙述

修改了一个复杂的index.vue文件,修改之后觉得他们写得乱糟糟的,没有一丝头绪,但这个修改文件未递交,我想恢复到它最开始的样子。

化解办法

从工作到现在Git操作总结

git checkout \– 文件完整路径(好像不加–这两个横线也能使)

从工作到现在Git操作总结

然后关闭这个文件在打开就好了 在提醒你是否保存修改切记不要保存

这是一个非常危险的命令,执行此操作方式后git会用最近的commit覆盖掉整个文件。

除非你确实清楚不想要对那个文件的本地修改了,否则请不要采用这个命令。

他们的标识符被pull下来的标识符覆盖

叙述

他们的标识符刚刚递交,同事然后把我的标识符拉下来之后也递交了,然后我再次把标识符重新pull下来,发现他们刚刚写的标识符全没了(备注:我合同事写的同一个文件)

解决办法(一)

git log找到最近一次递交的commit编码

从工作到现在Git操作总结

git reset \–hard 复制的commit编码然后关闭这个文件在打开就好了 在提醒你是否保存修改切记不要保存

化解办法(二)

ctrl + z采用这个办法是必须要知道,他们更动过哪些文件,并且编辑器未被关闭过(我当时编辑器刚好卡了,然后重启了一下编辑器…..)

只想拉取远端标识符 不想commit

叙述

他们的标识符只写了一丁点,旁边的同事说他递交了,叫我pull一下,因为没写什么东西,所以不想commit

异想天开的尝试

当时我就想,可不能直接pull,结果当然是不行啦,git会给你报如下的错误

our local

changes to the following files would be overwritten by merge:

化解办法

git stash暂存他们的打码

git pull拉取标识符

git stash pop弹出暂存

想要回到pull之前的状态

难题叙述

commit之后,把标识符pull下来,出现很多冲突,然后想回到pull之前的状态,将标识符格式化之后再pull

化解办法

git merge \–abort回到冲突之前的状态

git merge —abort

将会抛弃合并过程并且尝试重建合并前的状态。但是,当合并开始时假如存在未commit的文件,

git merge —abort

在某些情况下将无法重现合并前的状态。(特别是这些未commit的文件在合并的过程中将会被修改时)

查阅他们的commit记录

叙述

公司要求写笔记,想通过查阅一下他们的commit记录来写笔记,

化解办法

git log此方式有缺陷,只能展示最近一次push时的commit记录 最后,只有在GitLab上的发展史看了

最后

不建议我们采用Git的第三方可视化工具,首先有的笔试或者面试是要考查Git的,其次感觉采用git可视化工具之后,就没有那味儿了。

(完)

微软于年初推出了他们的Python教程,我们将其汉化提供给我们,欢迎我们收藏关注哦~(早已汉化完成的20集,我们日更1集,未完成部分我们尽快更新)

相关文章

发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务