Github windows图形客户端使用

本文详细介绍了如何使用Git进行版本控制,包括创建分支、合并分支、解决冲突等核心操作,以及如何在团队协作中高效地利用Git进行代码管理。主要内容涉及基本概念、操作流程和最佳实践。
创建新的branch,不会影响到Master Branch,这样当有新的想法,可以创建branch后修改,不影响原来的主branch

Master branch永远是被应用的(deployable)。分支是从Master branch创造出的,名字应该让人清楚这是分支,
,下图是github的工作流程图



Add commit(添加注释说明),commit可以让其他人清楚的看到你的修改说明

一般情况下,提交 GIT 时的注释可以分成几类,可以用几个动词开始:

  • Added ( 新加入的需求 )
  • Fixed ( 修复 bug )
  • Changed ( 完成的任务 )
  • Updated ( 完成的任务,或者由于第三方模块变化而做的变化 )
Github的两种工作模式:
1.The Fork + Pull Model  (分支推送模式)
2.The Shared Repository Model(共享仓库模式)

Issue是用来对项目进行讨论的



参与开源项目:

1.在Github上找到自己感兴趣的Reposity,fork
2.点击Clone in Desktop,选择保存路径,将该程序保存到自己的机器上,修改
3.在客户端选择自己的branch,将改动上传至服务器
4.在网页上点击create pull request,等待被merge



版本控制:
在进行程序改动时,可以创建不同的branch分别保存不同版本,若想要恢复之前的版本,只需要在客户端选择相应的branch,则可以在本地恢复到相应的版本

在本地文件内容发生变化(如添加文件test2.txt)后,github客户端就会自动检测到仓库中(你指定的本地文件夹内)的内容的变化,就会出现下图所示:


点击上图中的show按钮,会出现下图所示的界面,在Summary中填写更改的简要说明,Description中是关于更改的详细说明,红色的部分是上一个版本中被删掉的内容,绿色的部分是上一个版本中添加的内容:


修改完成后,会出现如下界面,Unsynced changes是说你刚刚修改的东西还没有同步到远程服务器上,需要点击客户端的Sync按钮,才可以将本地的变化传送到服务器端,如下图所示:

上面的带有颜色的几个小方块是和下面的修改关系相对应吗?我猜是这样的,3个绿的,一个红的

如果这一次修改后,觉=觉得修改错了,想撤销这一次的修改,返回到上一次修改的版本,则可以使用Revert这个按钮,点击后,会创建一个新的commit版本(就是又新创建了一个修改版本,这个版本的内容是返回了上一个版本的内容),如下图所示:

点击revert按钮后,出现的界面如下(新创建了一个修改版本):


可以看到会出现一个新的修改版本:Revert"Add content",可以看到这个版本的修改内容就是把上一个版本中新添加的两行删除,删除的一行恢复(即恢复到了Add content版本的前一个版本),打开本地文件test2.txt,可以看到,本地文件内容也恢复到了这样:



分支操作:
如果想要尝试新的测试版本,同时又不想破换主分支上的版本,可以创建新的分支。
如:在文件夹中新建一个新的文件:test3.txt,新建一个新的分支:如下图所示,新建一个NewBranch分支:

此时在文件夹中新建一个新的文件:test3.txt,这个时候,在github客户端中的master分支和Newbranch分支中,都会出现Uncommited changes,这个时候可以选定要在哪个分支上创建新版本(即包含test1.txt,test2.txt,test3.txt)。如这里我选择在NewBranch上创建新的版本,那么我选中NewBranch后,在该分支上完成修改说明,同步操作后,则发现在master分支上的uncommitted changes不见了(因为已经将版本变化(即新增加的test3.txt)指定到NewBranch上了,所以master中的版本不会变化)。然后,在github客户端上选择NewBranch分支,发现,在本地文件夹中的内容是这样的:

在github客户端上将分支切换为master,发现本地文件夹中的内容就变成了这样:

可以看出在两个分支上的版本是互不影响的。

合并分支:
我新建了一个test4.txt文件,并将这一版本指定到master中,然后想将NewBranch合并到master中,则选择NewBranch分支,点击下图按钮:

然后点击发送合并请求,登陆github,会看到如下界面:

点击merge pull request按钮,confirm merge,然后就合并成功了,并且可以选择删除NewBranch分支。
这个时候,本地端的master还没有和远程服务器端同步,在github客户端,在master分支可以看到:


点击同步按钮,本地文件夹将更新。看到在本地文件夹中,master分支中本地文件夹:


代码冲突问题:
当远程服务器上的代码和本地的代码有冲突时,如在服务器上将master中的test4.txt中的内容修改为:
don'tFixed@branch merge.
而本地文件test4.txt修改为:JYMASTER@branch merge.
这时候点击同步按钮会出现如下问题:

然后发现在本地有代码冲突的文件中,会给出如下标识:
<<<<<<< HEAD
JYMASTER@branch merge.
=======
don'tFixed@branch merge.
>>>>>>> origin/master
上面的一堆符号中上半部分为本地分支,下半部分为远程分支

这就需要解决冲突,这里我选择放弃本地的修改,然后选择同步,将本地修改重新合并到服务器的master分支

团队协作功能
将自己的分支发送了pull request后,如果团队中其他人觉得有问题,自己修改了该分支后不需要重新发送pull request,只需要将修改好的代码同步到服务器上即可
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值