Git学习总结2

13.远程仓库 将本地Git 与Github来链接起来,传输通过ssh加密。 (1)创建SSH Key 打开本地Git Bash ssh-keygen -t rsa -C “自己的邮件地址” 会在在用户主目录里找到.ssh目录,里面有id_rsa和id_rsa.pub两个文件, 这两个就是SSH Key的秘钥对,id_rsa是私钥,不能泄露出去,id_rsa.pub是公钥,可以放心地告诉任何人。 (2)登陆GitHub ,打开”Acount settings”,点击”SSH and GPG keys”, 然后 “new SSH key”,Title 随便填,Key 填写id_rsa.pub的内容。 (3)添加远程库 要关联一个远程库,使用命令git remote add origin git@github.com:VIPlkp/learngit.git 关联后,使用命令git push -u origin master第一次推送master分支的所有内容; 此后,每次本地提交后,只要有必要,就可以使用命令git push origin master推送最新修改. 分布式版本系统的最大好处之一是在本地工作完全不需要考虑远程库的存在, 也就是有没有联网都可以正常工作,而SVN在没有联网的时候是拒绝干活的; 当有网络的时候,再把本地提交推送一下就完成了同步,真是太方便了! (4)从远程库克隆 首先,登陆GitHub,创建一个新的仓库,名字叫gitskills 创建后会有一个REANME.md 现在,远程库已经准备好了,下一步是用命令git clone克隆一个本地库: git clone git@github.com:VIPlkp/gitskills.git


14.创建与合并分支 (1)创建与合并分支 查看分支:git branch 创建分支:git branch 切换分支:git checkout 创建+切换分支:git checkout -b 合并某分支到当前分支:git merge 删除分支:git branch -d (2)解决冲突 当Git无法自动合并分支时,就必须首先解决冲突。解决冲突后,再提交,合并完成。 解决冲突就是把Git合并失败的文件手动编辑为我们希望的内容,再提交。 用git log –graph命令可以看到分支合并图。 (3)分支管理策略 在实际开发中,master分支应该是非常稳定的,仅用来发布新版本。 平时开发的时候在dev上,每个人都在dev的分支上干活。时常往dev上更新就好。 在合并分支时,可以加上 –no-ff 参数,就可以用普通模式合并,合并后的历史有分支, 能看出来曾经合并过,而 fast forward 看不出来曾经合并过。 git merge –no-ff -m “merge with no-ff” dev


15.Bug分支 当你接到一个修复一个代号101的bug的任务时,很自然地,你想创建一个分支issue-101来修复它。但是,等等,当前正在dev上进行的工作还没有提交。不是你不想提交,而是工作只进行到一半,还没法提交,预计完成还需1天时间。但是,必须在两个小时内修复该bug,怎么办? 幸好,Git还提供了一个stash功能,可以把当前工作现场“储藏”起来,等以后恢复现场后继续工作 (1)将当前工作”储藏”起来 git stash (2)用 git status 查看工作区,是干净的,进行bug修复 (3)git checkout master //假设bug在master的分支进行修复 (4)git checkout -b issue-101 (5)修复buging… git add readme.txt; git commit -m “” (6)修复完成,切换到master分支,并合并,最后删除issue-101 git checkout master; git merge –no-ff -m “merge bug issue-102” issue-101 git branch -d issue-101 (7)返回dev git checkou dev (8)查看刚才的工作现场 git stash list (9)回复工作现场,并把stash的内容删除 git stas pop


16.强制删除分支。 开发一个新feature,最好新建一个分支; 如果要丢弃一个没有被合并过的分支,可以通过git branch -D 强行删除。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏LIN_ZONE

laravel5.5 任务调度 (转载)

我们需要在 App\Console\Kernel 类的 schedule 方法中定义所有任务调度。例如:

10210
来自专栏猿份到

maven私服快速入门

android 开发时,类库依赖管理一般是拷贝到相应 libs 目录然后配置文件中引用该类库,或者引用 jceneter 中第三方类库等。 前者...

30980
来自专栏LanceToBigData

Git(一)之基本操作详解

前言   在这段时间的工作中一直都是用Git作为版本控制,只是知道简单的几个命令,没有去了解它的内部原理。所以周末有时间来系统学习。   现在的公司基本上都是用...

208100
来自专栏java思维导图

架构师详解:Nginx 架构

原文链接:https://my.oschina.net/u/3770281/blog/1802493

16020
来自专栏mini188

MongoDB安装与使用体验

1、获取并安装 具体的安装包可以到官方网站下载:http://www.mongodb.org/downloads 我看着教程就下载了linux版本吧,也不是很...

25360
来自专栏前端进阶之路

git 常用操作总结

id_rsa 是私钥,id_rsa.pub 是公钥 id_rsa.pub 是你需要上传到 github 的 SSH KEY

8220
来自专栏Laoqi's Linux运维专列

Cron,Chkconfig,Systemd,Target

Cron : # cat /etc/crontab //查看设置任务计划的(配置文件)格式 #crontab -e //自定义计划内容 0 3 * * * /b...

32570
来自专栏晨星先生的自留地

linux软件包管理工具

29730
来自专栏云计算教程系列

如何在Ubuntu 14.04上备份,还原和迁移MongoDB数据库

MongoDB是最受欢迎的NoSQL数据库引擎之一。它以可扩展,强大,可靠和易于使用而闻名。在本文中,我们将向您展示如何备份,还原和迁移MongoDB数据库。

16440
来自专栏北京马哥教育

Linux之任务计划

用过windows的同学应该都知道在控制面板中有一个“任务计划”选项,我们可以通过向导设置让计算机在某个时间点或者开机时运行某个脚本或者批处理等等,方便我们的...

29640

扫码关注云+社区

领取腾讯云代金券