赞
踩
1.主要为了备份代码
2.记录历史
3.回到过去:
恢复代码
4.多端共享:
比如在公司写完代码,回家后可以通过git的代码共享机制继续编写代码
5.团队协作
github的核心(Github Flow):
- 创建一个新的分支
-
- 添加一个新的版本
-
- 开启一个pull request : 其实就是为了引发代码的讨论和审核的
-
- 讨论和代码审核
-
- 合并分支,然后部署
团队协作分为:
- 互相认识的开发者一起协作开发:通过branch(分支)
-
- 互不认识的开源成员之间的协作开发:通过fork
在项目的Setting里给项目添加权限
比如给项目添加Collaborators,这些成员就对项目有写的权限,也就是和创建master的作者有一样的权限,这样这些成员都有对master有写的权限
github提供的服务:
- github pages : 在项目中的branch里创建一个分支,起名的形式有讲究:xxx-pages。然后其实就是往这个项目里放入自己的网页,然后做成版本。最后访问域名就是:自己的账号名.github.io/具体项目名(网页的项目)
-
- wiki
-
- issues:事务卡片。使用场景:比如一个开发者,在对开源项目或者自己组内的项目有成型的想法或者成型的代码有贡献的话,可以提出一个pull request,但是如果是没有成型的想法或者代码,而只是一个小idea,那么可以对项目提出一个new issue,从而实现对项目的讨论。发布版本的时候还可以使用特定的字符串来对issues做操作,比如#(加上issues的号码),这表示对issues所提出的意见发布了一个版本,这信息会在issues里提示,再比如fix #(加上issues的号码),这表示对issues所提出的意见发布了一个终极版本,这个发布会同时关闭了issues的讨论。
1.下载github的客户端。
2.安装:傻瓜式安装
在git命令下输入git help,这样可以查看git的命令
github的项目会被公开,可能会被别人看到
在github上创建一个自己的账号,然后新建一个项目
在本地新建一个文件夹,然后在该文件夹目录下通过git命令:git clone https://github.com/faithyee/Test.git 把项目检出到本地
在检出到本地的项目里进行手动手改里面的文件,然后通过git界面中进行操作
git status 查看项目状态
这样会发现git会提示需要add进来本地
并且需要git commit把代码提交到本地库。
最后可以push到github库中
完成提交
使用github客户端来进行代码提交
也可以通过github里的ignore来对不需要提交的文件进行忽略,这样可以去除github客户端不断提示有文件未提交的麻烦
cp -r test test2 复制文件
git diff 来查看从github上拉下来(git pull)的代码和自己本地的版本之间的区别
git 命令
完成提交
总结:
其实解决冲突也是一次按时间段来解决提交代码的冲突。也就是说,如果一个人在同一时间段修改了同一个文件里的内容,然后先往github里更新了代码,然后另一个人继续往github里更新同一文件里的代码,这是git就会提示该次提交有需要解决的冲突,也就是需要该人先从github里把最新的代码拉(pull)下来,然后根据文件里的冲突进行手动修改,然后按正常的流程再次提交代码。
版本回滚
该节的主要命令是
- git log 查看当前本地的版本记录
-
- git reflog 同上
-
- git reset --hard 版本号 : 可以回滚到某个版本
以下是分别两次回滚后的记录
里程碑:也就是平时我们看到的软件版本号。一个旧版本的结束,和一个新版本的开始
点击github里test项目中的releases按钮,创建一个里程碑的版本。
我们可以对每个已经完善好的版本进行里程碑的设置,这样方便以后代码版本的查阅及下载
场景:
当项目的版本已经发布,然后继续对版本的master进行开发新的需求,但是问题来了,在线上的项目被发现了一个新的bug,并且亟需解决,那么我们可以这么来解决,就是对当前master的版本创建一个分支,然后对分支去修改该bug,并且进行上线更新,然后再把该分支同步到当前正在开发的master版本中,这样可以避免正在开发的代码流向到上线的项目中。
该节涉及的指令:
git checkout 分支名
3.在本地push完代码到github后,github中会收到一个compare & pull request的推送
4.然后点击推送的消息去处理版本合并
1.多用客户端和工具,少用命令行,除非是在Linux服务器上直接开发
2.每次提交前,diff自己的代码,以免提交错误的代码
3.下班回家前,整理好自己的工作区
4.并行的项目,使用分支开发
5.遇到冲突时,搞明白冲突的原因,千万不要随意丢弃别人的代码
6.产品发布后,记得打tag,方便将来拉分支修bug
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。