博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
git github小白看过来——下午篇
阅读量:6337 次
发布时间:2019-06-22

本文共 1654 字,大约阅读时间需要 5 分钟。

下午篇

踉踉跄跄,辗转到了下午篇。恬静的午后,掠去浮华,清风含香,不妨泡杯茗茶,来首--Look At Me(Alan Jackson),像青草一样呼吸。在下午篇中我们会讲到分支管理的序章,git github在实际项目中的应用。

编码的过程有时就是一个不断处理BUG的过程。比如前天你接到一个任务,需要开发一个新功能,这时你建了一个新分支,名为formerly,昨天开发完了,将其合到master分支上,然后push到远程仓库。今天你正在做另一个功能,并重建分支future,还没有完成(还没有add),不能提交。此时领导告诉你昨天的代码有BUG,即使你心中有一万头草泥马,你改或者不改,BUG就在那里。我们的处理方法是

分支管理的序章

  1. 将当前工作现场保存起来:$ git stash

  2. 确定需要在哪个分支上修复BUG,就切换到哪个分支上创建临时分支,git checkout master(假定在master分支);git checkout -b <临时branch name>;修改file后;git add <filename>;git commmit -m "solve bug";git checkout master;git merge --no-ff-m "" <临时branch name>;git branch -d <临时branch name>;git checkout funture(工作现场被保存起来的分支);

  3. 刚才的工作现场:$ git stash list

  4. 恢复被保存的现场并干掉stash: $git stash pop

因为已经经过朝阳篇,上午篇,中午篇,这里就不再一次敲命令了。只要思路清晰,命令不敲错,应该没问题的。

至于为什么我们需要将正在进行未add的文件工作现场保存起来,一是当前分支(funture)的功能未开发完,在多人协同工作时,若将未完成的代码上传会影响别人的工作。二是,在大型项目中,你当前分支(funture),有许多代码未提交(要切换分支必须commit之后),不建议你commit当前分支,因为如果把你现在修改的文件(一般都不止一个)提交的话 之后 你再回来找哪些代码是完成了一半就提交了,那些是真正提交的区分起来就会很麻烦;另外一个原因就是,虽然commit可以一次性提交多个add,但是commit之前的add,你需要把文件一个个add,麻烦不言而喻。还不如把当前工作现场存储起来。

问:为什么切换分支必须commit,见下图

图片描述

问,为什么修改一个bug需要重建一个分支,我个人觉得是安全吧,不影响其他分支工作,完成后合并分支,最后删除该分支,思路比较清晰。

工作流二三技

  1. 查看远程信息:$ git remote -v (显示可以抓取和推送的origin的地址)

  2. 推送分支:$ git push origin <分支name>

  3. 抓取分支:$ git clone git@github.com:xiakejie/remotegit.git (这里的remotegit并不是指本地仓库,二是你要克隆的远程仓库)<另外,此操作只克隆到远程仓库remotegit的master分支>

  4. 抓取远程仓库的其他分支:$ git checkout -b branchname origin/branchname (即在本地创建远程分支对应的分支)。

注意,用git命令克隆前,克隆的目录一定要是git可管理的目录。

图片描述

图片描述

图片描述

抓取其他分支

抓取前README.md的内容如下:

图片描述

打开本地MEADME.md文件添加两句话,add some words,push to origin dev,执行如图命令

图片描述

图片描述

图片描述

然后刷新hubgit,打开gitskill仓库,选择dev分支,打开README.md文件,查看前后变化。本地目录也有变化。

  1. 更新代码:git pull

在push前,一定要先pull

现在我们的 git github小白看过来 就全部梳理完了。如有不懂,请回看前几篇。

转载地址:http://llaoa.baihongyu.com/

你可能感兴趣的文章
Java第三次作业
查看>>
【HDOJ 3652】B-number
查看>>
android代码混淆笔记
查看>>
Codeforces Round #423 (Div. 2, rated, based on VK Cup Finals) C. String Reconstruction 并查集
查看>>
BMP文件的读取与显示
查看>>
Flash文字效果
查看>>
各种排序算法总结篇(高速/堆/希尔/归并)
查看>>
使用c#訪问Access数据库时,提示找不到可安装的 ISAM
查看>>
Highcharts X轴纵向显示
查看>>
windows 注册表讲解
查看>>
【算法】论平衡二叉树(AVL)的正确种植方法
查看>>
基于DDD的现代ASP.NET开发框架--ABP系列之1、ABP总体介绍
查看>>
react 从零开始搭建开发环境
查看>>
scala recursive value x$5 needs type
查看>>
ps -ef |grep 输出的具体含义
查看>>
markdown编辑
查看>>
ASCII 在线转换器
查看>>
Linux内核同步:RCU
查看>>
Android逆向进阶——让你自由自在脱壳的热身运动(dex篇)
查看>>
Java设计模式之五大创建型模式(附实例和详解)
查看>>