目录

  • 一、仓库内
    • 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.htmlindex.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社区?相关推荐

  1. Windows 下使用Git管理Github项目

    Git Git是一个开源的分布式版本控制系统,用以有效.高速的处理从很小到非常大的项目版本管理.最初由Linus Torvalds编写,用作Linux内核代码的管理.在推出后,Git在其它项目中也取得 ...

  2. 使用git管理github项目

    http://progit.org/book/zh/ Git是一个分布式的版本控制系统,最初由Linus Torvalds编写,用作Linux内核代码的管理.在推出后,Git在其它项目中也取得了很大成 ...

  3. Git 和 GitHub 教程——版本控制入门

    大家好,我是若川.持续组织了6个月源码共读活动,感兴趣的可以点此加我微信 ruochuan12 参与,每周大家一起学习200行左右的源码,共同进步.同时极力推荐订阅我写的<学习源码整体架构系列& ...

  4. git 获取最新代码_程序员必知:这是一份全面 amp; 详细的 Git与Github 介绍指南

    前言 如果你从事 互联网技术研发,那么你一定需要 了解 Git & Github 本文将采用 图 & 表的方式,向你全面介绍 Git 与 Github,包括其功能.应用场景 & ...

  5. android git项目管理,Android Studio中如何使用Git和Github来管理项目

    Android Studio中如何使用Git和Github来管理项目 原创 http://blog.csdn.net/wei18359100306/article/details/45645145 标 ...

  6. Git学习总结(18)——让你成为Git和GitHub大神的20个技巧

    Git不仅是编程世界最流行的分布式版本控制系统,而且你还可以用它查找,分享以及优化你的代码.接下来就来看看怎样让Git和GitHub更好地为你服务吧. 尽管现在网上有很多Git的初学者教程,而且Git ...

  7. 果断收藏!Git和GitHub大神常用的20个技巧!

    果断收藏!Git和GitHub大神常用的20个技巧! Git不仅是编程世界最流行的分布式版本控制系统,而且你还可以用它查找,分享以及优化你的代码.接下来就来看看怎样让Git和GitHub更好地为你服务 ...

  8. Git和Github之间的区别

    http:// jahya .NET / blog /?2013-05- Git -vs-github ls与Github相同! 有一天,我试图告诉一个朋友Git和Github是如何相关的.Git e ...

  9. Svn、Git、GitHub、GitLab、码云 区别

    一.吐槽个黑历史 git诞生: git 由Linus Linus花了两周时间自己用C写了一个分布式版本控制系统,在2008 正式上线.(这里和Linux有一段黑历史). github: github代 ...

最新文章

  1. 链表问题3——删除链表的中间节点(初阶)
  2. 经验教训 | STM32 异常之BFARVALID,PRECISERR,INVSTATE
  3. Hadoop-2.8.0集群搭建、hadoop源码编译和安装、host配置、ssh免密登录、hadoop配置文件中的参数配置参数总结、hadoop集群测试,安装过程中的常见错误
  4. 用树莓派做蜘蛛机器人,还是3D打印的!
  5. axios打包放到服务器上接口地址404_如何把网页文件放到云虚拟主机
  6. 消息队列面试 - 为什么使用消息队列,消息队列有什么优点和缺点?
  7. tolua#是Unity静态绑定lua的一个解决方案
  8. 虚拟机是怎么实现的?(转)
  9. 《黑客秘笈——渗透测试实用指南(第2版)》—第1章1.6学习
  10. 高层建筑电气设计说明书
  11. 参考文献的序号怎么对齐_word序号对齐方式 word中如何让编号自动对齐
  12. 计算机word平均值函数公式,Excel函数公式:在Word中用公式求和、平均值你会吗?...
  13. Word插入脚注不显示编号
  14. css/js解决 页面多次点击时出现部分蓝色
  15. 黑苹果 macOS 无法修复磁盘 XXX 已修复
  16. HTML5在线摄像头应用
  17. 5410 ACM 杭电 01+完全背包
  18. 如果有一天不写代码了,还能干点啥?
  19. 《一周搞定模电》—功率放大器
  20. 一步一步搭建 oracle 11gR2 rac+dg之grid安装(四)

热门文章

  1. 知识点篇:2.1)不同目标,不同的设计套路(正向还是逆向)
  2. Qt模型model、视图view、代理
  3. 湿法蚀刻工艺去除金属氧化物
  4. H3CSE-WLAN GB0-342题库最新十月高分通过题库VCE GB0342 华三无线中级
  5. 淹没在Web开发行业的工具中
  6. MySQL备份:mydumper 备份恢复工具生产实战
  7. 基于Simulink的电动汽车再生制动仿真建模
  8. 开启编程之旅番外——做个爱思考的仓库管理员
  9. Python3+pygame实现的90坦克大战
  10. 豌豆荚导致adb连接错误