Git 命令操作相关---持续更新

0. 总览

简单来说,Git是一个管理你的【代码的历史记录】的工具。管理代码历史记录。

  • Repository 【代码仓库,一起写小说的笔记本】

  • Fork【变成自己的,从而进行任意想要的修改】

  • Clone【下载Repository里的干货到本地】

比如总共发布(release)了多少个版本,有多少人参与开发(contributors),多少次提交记录(commits),多少个分支(branches),文件的详细目录等等。Apache-2.0是什么意思?

以下是代码的不同历史记录,应该是选择好你到底要哪个版本,才去点clone or download按钮。

在这里插入图片描述

Git pull与Git fetch什么区别?

外文网页文献
在这里插入图片描述
共同之处: 都能从remote repository下载new data.

1. Git pull做了个啥子呢?

Pull requests let you tell others about changes you’ve pushed to a branch in a repository on GitHub. Once a pull request is opened, you can discuss and review the potential changes with collaborators and add follow-up commits before your changes are merged into the base branch.

拉取请求可让您告诉其他人已推送到GitHub信息库中分支的更改。 打开拉取请求后,您可以与协作者讨论和审查潜在的更改,并在更改合并到基础分支之前添加后续落实

2. Git fetch做了个啥子呢?

​​在这里插入图片描述
感觉就是查看远程都发生了什么变化? 但不把变化集成到local files. 是harmless的, 永远不会操纵,摧毁, 或者破坏(screw up)任何东西.

找个github库试一下:

在我自己的Microsoft语义对齐的库上用了下:

在这里插入图片描述
这也不显示到底有什么变化和不同, 而是只是显示两次的branch名字差异.

Git remote -v

对于,我的本地和remote不一致的库:

在这里插入图片描述
也会显示一个(fetch)和一个(push).

我们知道: 就算对我本地和remote都一致的库, 仍然是如图所示的两个:

在这里插入图片描述
​​​​因此, 这个命令对于排故作用不大啊.

Git 删除Git repository的文件

  • git rm file.txtremove the file from the Git repository and the filesystem
  • git rm --cached file.txtremove the file only from the Git repository and not from the filesystem

Git 删除Git repository的目录及内部内容

  • git rm -r directory_name
  • git rm -r --cached directory_name

Git 重新命名远程库中的文件

Git 恢复,撤销,错误删除

  1. git status
  2. git reset HEAD *.py
  3. git checkout *.py

首先,输入git status查看工作区的状态。

git status

在这里插入图片描述
确实,在git rm main.py后,本地的main.py文件不见了,

在这里插入图片描述
然后的话,但是因为还没commit,远程上的main.py还在.

在这里插入图片描述
那么,到底该如何恢复呢,具体的恢复做法如下:

其实在git status命令后已经告诉我们该怎么做了。也就是,git reset HEAD <file> to unstage(让改变不上台面).

git reset HEAD main.py

输入这个后,然后我们得到如下截图:

在这里插入图片描述

意思就是让你之前的改变不上台,确实做到了,过去式的英语表达也告诉已经在reset后让改变没有上台。

reset后, 我们发现再次type git status有一个字体颜色由绿变红的效果。

在这里插入图片描述
然后又提示git add或者git commit,所以,说明刚才的删除操作已经撤销了。

这样我们就能用checkout了

在这里插入图片描述
在这里插入图片描述
然后,刚才没有的main.py这就又恢复回来了。

Git 不能merge了(因为git自己的保护机制)

错误信息详情如下:

在这里插入图片描述
解决方案如下:

Git 会protects you from losing important changes.

在这里插入图片描述

Git 不能pull了

在这里插入图片描述
步骤:

  1. 我先用git status看一下.

在这里插入图片描述
diverged 发散的. 意思是origin/master这个branch是发散的.

有一个版本吧,有四次commits.
有另外一个版本吧,有2次commits.

然后提醒说是可以用git pull把remote branch给merge into到自己的. 但我试过了, 对于我的这个repo,这个不起作用. 会出现新的错误.

只要一pull就会出现刚才那个错误. 也就是:

在这里插入图片描述

所以归根到底还是那个unmerge出的问题.

对于上面这个问题, 我尝试了下面这个链接Stack OverflowAkhzar Nazir的方法,然后把这个问题解决了.

在这里插入图片描述
就是这个,

  1. git add . git add 里面
  2. git commit -m "commit content"
  3. git push origin master

现在新的git status如下:

在这里插入图片描述
至少不提示unmerge了.

试试现在能不能正常commit和pull了?

都能了, 都正常了.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值