如何使用Git和GitHub社区?
目录
- 一、仓库内
- 1、code
- 2、issues
- 3、Pull request
- 4、projects
- 5、wiki
- 6、insights
- 7、settings
- 二、Git知道这些就够了
- 1、相关视频资料
- 2、主要用途
- 3、使用步骤
- name指新分支的名字,template指以哪儿个分支或者commit为模板,如果不填,则以当前分支为模板
- 新版分支会与母版分支的历史commit保持一致
- 若template不是本地的,是来自远程仓库的话,需要再template前加origin
- 显示的结果中,高亮的条目代表现在所处的分支
- 使用
- 通过
- 而没有bc-a,是因为这个命令只展示本地的branch。通过fetch只是获知了远端仓库有一个新的分支bc-a。但是b本地没有
- git checkout bc-a
- 可以顺利切出bc-a,如果不先fetch,此时checkout是没用的
- 从远程仓库切的分支,修改后直接push即可,git本身就知道在哪
- 为什么要fetch
- 只有团队协作才会用到远程仓库,每次checkout都检查仓库是一个很浪费网络资源的事
- 当然先fetch再merge是可以的,但还有更简单的
- 即git pull等同于先fetch再自动merge
- 新版分支与母版分支的历史commit一致
- rebase原理:枚举变更的commit依次变基。即重新排列base,base就是指commit
一、仓库内
进入GitHub社区你会发现每个项目都有star,在一定程度上可以反映该项目的热度。
fork,将该项目复制到你自己的仓库下面
1、code
仓库中有几个选项,第一个选项就是code。
介绍文档即README.md是用Markdown编辑器写的。
commit为提交次数,建branch分支,打tag标签。建议学生阶段把git学会
如果想对不同branches之间的代码进行比较,查看区别,可以在浏览器网址后输入“/compare”。base和compare见比较
2、issues
issues是反映开源项目是否活跃的重要指标
类似讨论区,追踪系统,可以提问问题。bug、feature标签
3、Pull request
你对该项目有重大的贡献,想把工作融入这个项目。可以发起此提交请求
4、projects
可做项目管理,工作计划,
可拖动column间的内容,还有很多强大功能,自己去研究。
5、wiki
百科全书,项目相关的资料都可以放里面。
create new page。建立项目相关的知识库
6、insights
项目相关的统计信息,贡献者,访问者次数等。看板用途
7、settings
GitHub pages
部署服务,部署网站用的。个人网站
企业开发用的多的webhooks
事件发生后向外部通知。自动化,触发通知用
danger zone
转让,删除仓库
二、Git知道这些就够了
1、相关视频资料
https://www.bilibili.com/video/BV1BE411g7SV?from=search&seid=7789178360978027146
2、主要用途
版本控制
管理不同的版本,并且可以回退到任意时刻
协同开发
3、使用步骤
- 创建仓库
- 起步——下载并安装Git
命令行中初始化仓库git init
,就会看到.git文件夹,它所在的文件夹就是我们的仓库
提交之后,会在文件夹中创建文件index.html
和index.js
查看当前仓库的状态信息
git status
将单个文件加入暂存区,文件变绿
git add <filename>
当文件较多时,可使用以下来将当前目录所有文件加入暂存区
git add .
提交
git commit -m <message> # 例如“my first commit”
若代码发生变化,则再次git status查看状态,会看到提示
注意:
- 当文件变更时,需要先git add 将文件变绿,再git commit将变更之后的文件提交到仓库中。git commit只提交那些变为绿色的文件。
- 若已经add了一个文件,但是又后悔了,不打算提交它了。则可以在commit之前,使用下行代码将绿色的文件变为红色的。
git reset <filename>
文件状态
常用命令
自定义命令alias
找到git的安装目录,etc中gitconfig,可以设置自己的alias
将现有文件回退到之前的提交版本
git reset
回退之后若想回到最新的版本,则需要git reflog查看所有的操作记录,在当中找到想回退的commit ID,再次使用git reset,则可。或者更简单的使用git pull即可
reset的三种模式
不带参数,默认为mixed
分支branch
主分支master
创建新分支
git checkout -b
name指新分支的名字,template指以哪儿个分支或者commit为模板,如果不填,则以当前分支为模板
新版分支会与母版分支的历史commit保持一致
若template不是本地的,是来自远程仓库的话,需要再template前加origin
git checkout -b origin
切回其它分支
git checkout master
查看所有分支
git branch
显示的结果中,高亮的条目代表现在所处的分支
因此,想回到之前的版本有了更简单的方式,即直接切换分支git checkout ,而不需要查找commit ID
合并merge分支
合并其它分支的变更
git merge
Git的概念速看,视频16:08处
branch
commit
最重要
reset
merge
add
cherry-pick
stash
status
远程仓库remote
作为中央仓库来管理所有的分支
做法:
直接创建test-repository,创建好之后复制他的download链接
创建两个文件夹,模拟两台机器A,B
分别git clone 链接 即可将远程仓库下载至本地
a创建分支git checkout -b bc-a,使用git push将该分支推送至远端,会发现无法推送,提示无上流分支。它指bc-a分支只在你的本地,而远端没有这个分支。系统提示:to push the current branch and set the remote as upstream, use git push --set-upstream origin bc-a。其中–set-upstream指设置上流分支,origin是指远端仓库。成功
之后尝试提交。README.md中加一行new commit。terminal中
git ad #(注意这是自定义命令,映射表见上面图片)
git cmm “first commit”
git push # 顺利推送
小b若想使用bc-a分支,则需要将远端分支先拉取到本地
使用
git fetch # 拉取远程仓库信息
通过
git branch # 可以看到b本地目前只有一个master分支。
而没有bc-a,是因为这个命令只展示本地的branch。通过fetch只是获知了远端仓库有一个新的分支bc-a。但是b本地没有
git checkout bc-a
可以顺利切出bc-a,如果不先fetch,此时checkout是没用的
从远程仓库切的分支,修改后直接push即可,git本身就知道在哪
为什么要fetch
只有团队协作才会用到远程仓库,每次checkout都检查仓库是一个很浪费网络资源的事
若b用bc-a分支过程中,a对分支做了修改,又push到了远端。那么小b如何将新的变更到本地bc-a分支呢?
当然先fetch再merge是可以的,但还有更简单的
即git pull等同于先fetch再自动merge
rebase(变基)视频24:46
新版分支与母版分支的历史commit一致
rebase原理:枚举变更的commit依次变基。即重新排列base,base就是指commit
发生冲突,手动处理冲突,选择取舍。处理完之后,git ad将变更add进暂存区。使用git rebase --continue,继续下一个节点的rebase。循环本步至完毕
如何使用Git和GitHub社区?相关推荐
- Windows 下使用Git管理Github项目
Git Git是一个开源的分布式版本控制系统,用以有效.高速的处理从很小到非常大的项目版本管理.最初由Linus Torvalds编写,用作Linux内核代码的管理.在推出后,Git在其它项目中也取得 ...
- 使用git管理github项目
http://progit.org/book/zh/ Git是一个分布式的版本控制系统,最初由Linus Torvalds编写,用作Linux内核代码的管理.在推出后,Git在其它项目中也取得了很大成 ...
- Git 和 GitHub 教程——版本控制入门
大家好,我是若川.持续组织了6个月源码共读活动,感兴趣的可以点此加我微信 ruochuan12 参与,每周大家一起学习200行左右的源码,共同进步.同时极力推荐订阅我写的<学习源码整体架构系列& ...
- git 获取最新代码_程序员必知:这是一份全面 amp; 详细的 Git与Github 介绍指南
前言 如果你从事 互联网技术研发,那么你一定需要 了解 Git & Github 本文将采用 图 & 表的方式,向你全面介绍 Git 与 Github,包括其功能.应用场景 & ...
- android git项目管理,Android Studio中如何使用Git和Github来管理项目
Android Studio中如何使用Git和Github来管理项目 原创 http://blog.csdn.net/wei18359100306/article/details/45645145 标 ...
- Git学习总结(18)——让你成为Git和GitHub大神的20个技巧
Git不仅是编程世界最流行的分布式版本控制系统,而且你还可以用它查找,分享以及优化你的代码.接下来就来看看怎样让Git和GitHub更好地为你服务吧. 尽管现在网上有很多Git的初学者教程,而且Git ...
- 果断收藏!Git和GitHub大神常用的20个技巧!
果断收藏!Git和GitHub大神常用的20个技巧! Git不仅是编程世界最流行的分布式版本控制系统,而且你还可以用它查找,分享以及优化你的代码.接下来就来看看怎样让Git和GitHub更好地为你服务 ...
- Git和Github之间的区别
http:// jahya .NET / blog /?2013-05- Git -vs-github ls与Github相同! 有一天,我试图告诉一个朋友Git和Github是如何相关的.Git e ...
- Svn、Git、GitHub、GitLab、码云 区别
一.吐槽个黑历史 git诞生: git 由Linus Linus花了两周时间自己用C写了一个分布式版本控制系统,在2008 正式上线.(这里和Linux有一段黑历史). github: github代 ...
最新文章
- 链表问题3——删除链表的中间节点(初阶)
- 经验教训 | STM32 异常之BFARVALID,PRECISERR,INVSTATE
- Hadoop-2.8.0集群搭建、hadoop源码编译和安装、host配置、ssh免密登录、hadoop配置文件中的参数配置参数总结、hadoop集群测试,安装过程中的常见错误
- 用树莓派做蜘蛛机器人,还是3D打印的!
- axios打包放到服务器上接口地址404_如何把网页文件放到云虚拟主机
- 消息队列面试 - 为什么使用消息队列,消息队列有什么优点和缺点?
- tolua#是Unity静态绑定lua的一个解决方案
- 虚拟机是怎么实现的?(转)
- 《黑客秘笈——渗透测试实用指南(第2版)》—第1章1.6学习
- 高层建筑电气设计说明书
- 参考文献的序号怎么对齐_word序号对齐方式 word中如何让编号自动对齐
- 计算机word平均值函数公式,Excel函数公式:在Word中用公式求和、平均值你会吗?...
- Word插入脚注不显示编号
- css/js解决 页面多次点击时出现部分蓝色
- 黑苹果 macOS 无法修复磁盘 XXX 已修复
- HTML5在线摄像头应用
- 5410 ACM 杭电 01+完全背包
- 如果有一天不写代码了,还能干点啥?
- 《一周搞定模电》—功率放大器
- 一步一步搭建 oracle 11gR2 rac+dg之grid安装(四)