学习使用Git(四)
跟着廖雪峰老师学Git https://www.liaoxuefeng.com/wiki/896043488029600/896827951938304
下面为学习笔记
删除文件
一般情况下,你通常直接在文件管理器中把没用的文件删了,或者用rm命令删了
现在你有两个选择:
- 一是确实要从版本库中删除该文件,那就用命令
git rm
删掉,并且git commit
- 另一种情况是删错了,因为版本库里还有呢,利用上一节知识所以可以很轻松地把误删的文件恢复到最新版本
添加远程库
终于要和github连接了!
先在github创建一个空仓库,具体参见廖老师步骤。
廖老师的版本没有问题,是我刚开始没用到SSH,填充SSH文件就好了!!!以下解决方案仅当参考
GitHub告诉我们,可以从这个仓库克隆出新的仓库,也可以把一个已有的本地仓库与之关联,然后,把本地仓库的内容推送到GitHub仓库。但是廖老师版本有些老,部分函数已经更改,这里记录一下我遇到的问题。
目前的指令如上图,但是用git remote add origin https://github.com/DislikeTomato/test.git
会出现登录的问题,我是怎么也登录不上去。根据评论区大哥们的讨论,2021年8月13日之后不支持用户名密码登录,变成令牌登录了,因此要去注册一个自己的令牌,具体操作步骤参考:https://blog.csdn.net/yjw123456/article/details/119696726
这里选择classic版本才是参考博文的方案
这里还要讲一下,大多数人创建本地库的时候用的是默认master作为分支名称,但是github默认main作为分支名称,所以按照廖老师的代码提交,会出现两个分支(评论区是这么说的,因为我的本地分支名称是main,没办法验证)。
推送成功后,可以立刻在GitHub页面中看到远程库的内容已经和本地一模一样,从现在起,只要本地作了提交,就可以通过命令git push origin main
,把本地main分支(我的分支是main)的最新修改推送至GitHub,现在,你就拥有了真正的分布式版本库!
删除远程库
如果添加的时候地址写错了,或者就是想删除远程库,可以用git remote rm <name>
命令。使用前,建议先用git remote -v
查看远程库信息,如:git remote rm origin
此处的“删除”其实是解除了本地和远程的绑定关系,并不是物理上删除了远程库。远程库本身并没有任何改动。要真正删除远程库,需要登录到GitHub,在后台页面找到删除按钮再删除。
从github克隆到本地库
首先,登陆GitHub,创建一个新的仓库,名字叫gitskills
我们勾选Add a README file
,这样GitHub会自动为我们创建一个README.md文件。创建完毕后,可以看到README.md文件显示:gitskills
在本地进入到你想放置仓库的磁盘或者文件夹,否则默认在C盘,用命令git clone克隆一个本地库,我的是命令是
git clone git@github.com:DislikeTomato/gitskills.git
克隆完成在本地就可以看到了!
分支管理
截止到目前,只有一条时间线,在Git里,这个分支叫主分支,即main分支。HEAD严格来说不是指向提交,而是指向main,main才是指向提交的,所以,HEAD指向的就是当前分支。
- 当我们创建新的分支,例如dev分支时,Git新建了一个指针叫dev,指向main相同的提交,再把HEAD指向dev,就表示当前分支在dev上。
- 从现在开始,对工作区的修改和提交就是针对dev分支了,比如新提交一次后,dev指针往前移动一步,而main指针不变
- 假如我们在dev上的工作完成了,就可以把dev合并到main上。Git怎么合并呢?最简单的方法,就是直接把main指向dev的当前提交,就完成了合并
- 合并完分支后,甚至可以删除dev分支。删除dev分支就是把dev指针给删掉,删掉后,我们就剩下了一条main分支
创建分支
- 首先,我们创建dev分支,然后切换到dev分支
git checkout -b dev
,-b
参数表示创建并切换 - 用
git branch
命令查看当前分支 - 在dev分支上对readme.txt进行修改,并用add和commit提交到版本库
- 现在,dev分支的工作完成,我们就可以切换回main分支:
git checkout main
- 切换回master分支后,再查看一个readme.txt文件,刚才添加的内容不见了!因为那个提交是在dev分支上,而main分支此刻的提交点并没有变
- 现在,我们把dev分支的工作成果合并到master分支上:
git merge dev
,再查看readme.txt的内容,就可以看到,和dev分支的最新提交是完全一样的。 - 合并完成后,就可以放心地删除dev分支了:
git branch -d dev
这几天休息了一下,除了牙疼就是牙疼🍅