发表于: 2018-04-04 19:33:01
1 705
今天完成的事情:
当前目录为这样
如果想删除test.txt文件,可以输入rm test.txt
如果想彻底删除,commit就好了,不过如果我想复原呢?
输入这条指令即可
接下来创建我们自己的远程仓库,去注册一个GitHub账号,其实GitHub之前就听说过,不过一直没有去真正了解使用过,不过在了解学习了Git之后,又看到下面这段话。
然后GitHub干嘛用的感觉已经心里有数了
由于本地Git仓库与GitHub仓库是通过SSH加密的,所以先进行设置
先去用户主目录下,发现没有.ssh文件夹
打开git的bash,输入如下命令ssh-keygen -t rsa –C youremail@example.com
后面的是你的邮箱,不要输错了。之后它会让你输入储存文件的地方
按照它显示的默认的再输一遍,不然你找不到这个文件夹
id_rsa是私钥,不能泄露出去,id_rsa.pub是公钥,可以放心地告诉任何人。
先点击右上角的settings
选择SSH keys
Title随便取,将id_ras.pub中的内容复制到key中
点击add,可以看到你添加的key
点右上角+号的new repository,填上名字创建即可
我们现在将本地仓库与这个远程仓库关联然后将本地内容推送到这个远程仓库
打开git bash
切换到之前练习的目录
根据自己的账号和名字输入指令
将本地内容推送到远程仓库,输入命令后会让你输入账户和密码登录
推送完成后可以看到远程仓库已经与本地仓库一样了
从现在起,只要本地作了提交,就可以通过如下命令:
git push origin master
把本地master分支的最新修改推送到github上了,现在你就拥有了真正的分布式版本库了。
上面学习的是如何在有本地库的情况下,关联到远程库,接下来我们来看远程库有了新内容时,如何克隆到本地库
再创建一个新仓库
然后看到
输入命令
可以看到本地目录下生成了和远程仓库一样的目录。
现在我们来创建分支
这相当于两条命令
git branch dev
git checkout dev
可以显示所有分支并在当前分支前显示一个*号
接着我们在当前分支上做修改
往aaa.txt当中添加一行内容
切换回主分支
发现没有新增的内容,因为我们是在dev分支上做的改动
我们可以将dev分支合并到当前分支上
这时文件内容的改变就看得到了
然后删除dev分支
通常合并分支时,git一般使用”Fast forward”模式,在这种模式下,删除分支后,会丢掉分支信息,现在我们来使用带参数 –no-ff来禁用”Fast forward”模式。首先我们来做demo演示下:
创建dev分支
修改aaa.txt内容
提交
回到主分支
合并
删除dev分支
注意看版本号
可以看到dev分支的信息还在
分支策略:首先主分支一般都是非常稳定的,一般情况下不在上面干活,干活一般情况下载新建的分支上,等分支代码稳定后可以合并到主分支。
如果你在一个分支上工作时,突然主分支上出现了一个BUG需要你去修复,但分支上的工作还没做完,不好提交,这时该怎么办?
例如在dev分支上加上最后一行hhhhh
我们可以“隐藏”这段工作
你会发现加入的最后一行没有了
现在你就可以放心的回到主分支,创建一个修复bug的分支啥的。当事情搞定后,你可以回到dev分支
查看储存的工作
恢复之前的工作
之前的修改又回来了
查看远程库的信息和查看远程库的详细信息
推送分支就是把该分支上所有本地提交到远程库中,推送时,要指定本地分支,这样,Git就会把该分支推送到远程库对应的远程分支上:
使用命令 git push origin master
比如我现在远程库中内容如下
本地库中内容如下
推送
查看远程库
已与本地库统一
还可以将dev分支推送上去
明天计划的事情:
任务1的学习总算差不多搞定了,写个总结提交任务吧。
遇到的困难:
无
收获:
感觉已经领会github精髓了。
评论