惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Cloudbric
Cloudbric
有赞技术团队
有赞技术团队
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
T
Threat Research - Cisco Blogs
L
LangChain Blog
Simon Willison's Weblog
Simon Willison's Weblog
Project Zero
Project Zero
Latest news
Latest news
S
Schneier on Security
Cisco Talos Blog
Cisco Talos Blog
MyScale Blog
MyScale Blog
C
Check Point Blog
IT之家
IT之家
P
Palo Alto Networks Blog
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
C
CERT Recently Published Vulnerability Notes
Scott Helme
Scott Helme
The Hacker News
The Hacker News
C
CXSECURITY Database RSS Feed - CXSecurity.com
G
Google Developers Blog
T
Tor Project blog
T
Threatpost
D
DataBreaches.Net
博客园 - 【当耐特】
酷 壳 – CoolShell
酷 壳 – CoolShell
T
Troy Hunt's Blog
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Vercel News
Vercel News
云风的 BLOG
云风的 BLOG
NISL@THU
NISL@THU
P
Privacy & Cybersecurity Law Blog
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
C
Cisco Blogs
博客园_首页
S
Securelist
T
The Exploit Database - CXSecurity.com
Last Week in AI
Last Week in AI
量子位
U
Unit 42
Know Your Adversary
Know Your Adversary
Hugging Face - Blog
Hugging Face - Blog
S
Security Affairs
Google Online Security Blog
Google Online Security Blog
Hacker News: Ask HN
Hacker News: Ask HN
Webroot Blog
Webroot Blog
S
SegmentFault 最新的问题
Engineering at Meta
Engineering at Meta
N
News and Events Feed by Topic
P
Proofpoint News Feed
阮一峰的网络日志
阮一峰的网络日志

囧克斯

奔四了,写给40岁的自己 有序退网 我和 Vue.js 的十年 我参与《代码之外 Beyond Code》的故事 博客站迁移至 VitePress 的备忘 写给我的奶奶 中文格式化小工具 zhlint 及其开发心得 vue-mark-display:用 markdown 语法轻松撰写幻灯片 我对技术会议的一些看法 VueConf Hangzhou 见闻 第四届 CSSConf CN 见闻 [译]Web 表单的未来 [译]苹果正在做一些他们的程序员明摆着不想要的东西 [译]为什么我不会无偿加班且你也不应该 [译]如果管理是唯一可走的路,那就完蛋了 [译]如何撰写 Git 提交信息 [译]C 程序的原则 Vue 2.0 来了! Weex 近 4 个月的开源之路 Weex 在 JS Runtime 内的多实例管理 我理解的 SPA 我理解的 Flux 架构 【整理】Vue 2.0 自 beta 1 到 beta 4 以来的主要更新 通过一张图走进 Vue 2.0 Code Review for Vue 2.0 Preview Vue 2.0 发布啦! 务实的小而美 Vue.js 1.0.0 发布了! [译]如何成为一名卓越的前端工程师 手机淘宝前端的图片相关工作流程梳理 [译]如何让办公室政治最小化 Vue.js 源码学习笔记 从原型到发布——“团队时间线” 1.0 开发心得 Vue + webpack 项目实践 用 Koa 写服务体验 webcomponents 笔记 之 配置管理 小秀个人的13~14年摄影作品 (共19张) 由今年D2前端论坛想到的 [译]CSS命名神马的真心难 [译]Git 分支的最佳实践 [译]撰写可测试的 JavaScript [译]语义化版本管理 [译]通过HTML5 Canvas API调节图像的亮度和颜色 [译]JavaScript V8性能小贴士 [译]视觉差,走起! [译]Chrome开发者工具中评估性能的五大新特性 精气神儿 细节无微不至,彩屏让人又爱又恨——新老“神机”大对决:Nokia 1050 vs Nokia 1202 秦升拿到红牌之后…… 用Sass重新整理自己的博客主题样式 Connect中间件使用手册 巧用 RequireJS Optimizer 给传统的前端项目打包 编辑器小调查结果 [译]JSLint 文档 烟火——写给蛇年的傲游和我 小秀个人的全年摄影作品 (共15张) 2012年终毫无正能量的总结 标签?ID?还是CLASS? 微创新=伪创新 HTML5峰会归来 分享bookmarklet一则:随意阅读 国际羽联和中国队之间的恶性循环 ZeroClipboard 学习笔记 “思考人生” 听杨东杰弹吉他 学习精髓 网站装修笔记20120426 网站装修笔记20120414 网站装修笔记20120406 分享Typecho插件:百度统计助手 我的得奖感言 网站装修笔记20120331 用CSS3制作尖角标签按钮样式 分享Typecho插件:Markdown 解析器 + 编辑器 分享Typecho皮肤:我的字很大 汇总自己过去的一些HTML5科普文章 html5中的消息通信简介 + 我的新网站开张 网站装修计划 Typed Arrays 是神马? 文明看球 HTML5中的文件处理 之 File Writer API HTML5中的文件处理 之 File API 独生子女、互相等和不耐烦 IndexedDB技术简介(四) IndexedDB技术简介(三) IndexedDB技术简介(二) IndexedDB技术简介(一) 把博客的字体进一步调大,同时去掉了侧边栏 “模仿别人是为了找到自己” 写给我未婚妻的2011年 写给自己的2011年 手把手教你入门EaselJS做HTML5动画 “吃了吧,不吃就浪费了” 写给傲游的2011年 所谓专业 写给HTML5的2011年 对HTML5中LocalStorage的一些使用建议 回味一下我2011年看到的最过瘾的5场足球比赛 浅浅浅谈开饭店被顾客吃出“异物”的用户体验 前端的本职
git和github简介(下)
勾三股四 · 2011-06-27 · via 囧克斯

本文摘自 勾三股四 更早时期的 不老歌 博客。


创建一个git仓库

  • $ git init 初始化仓库
  • $ git status 查看当前仓库状态
    # On branch master
    nothing ot commit (...)
  • $ git add .
    $ git add index.htm style.css ...
    添加文件到临时区域,前者为添加全部
  • $ git commit --all --message "xxx"
    $ git commit -am "xxx"
    提交修改记录。两者效果相同
  • $ git log 查看修改记录
  • .gitignore 文件
    用来记录自动忽略添加的文件,如config.php
  • $ git mv ... ...移动
  • $ git rm ... ...删除
    注意区分git mv/rmmv/rm

管理分支标签

  • $ git branch 列出所有分支
    * master
      xxx
      yyy
  • $ git branch xxx 创建名为xxx的分支
  • $ git checkout xxx 切换至名为xxx的分支
  • $ git merge xxx 合并xxx分支的修改
  • $ git tag 列出所有标签
    v3.1
    v3.0
    v2.5
    v2.0
    v1.0
  • $ git tag v2.0 生成一个新标签
  • $ git show v2.0
    tag v2.0
    Tagger: Jinks Zhao ...
    Date:   Sat Jul 3 10:06:16 2010 -0400
    
    half-way to release 1
    commit 08eaf7c6b... Merge: be96dbe 39a1b50 Author: Jinks Zhao ... Date: Sat Jul 3 07:28:16 2010 -0400
    Merge branch 'xxx'
    查看该标签的相信情况
  • $ git describe
    v2.0-2-g8ee0f4a
    显示以上一个标签为基础的提交情况

部分git高级操作

  • $ git add -i 交互式添加
  • $ git reset --hard HEAD
    $ git reset --soft xxx
    $ git checkout -- <file.ext>
    恢复版本或文件
  • $ git diff
    $ git diff <file.ext>
    $ git diff <commit>
    $ git diff <commit> >file.ext>
    $ git diff <branch1>..>branch2>
    $ git diff <branch1>...>branch2>
    比较文件或版本之间的差异,有多种参数用法
  • $ git stash
    $ git stash apply
    如果你在完成一个功能特性的时候发现之前代码里有一个bug,但是这个bug又和你正在开发的功能特性无关,你想在完成整个功能特性开发之前就修复这个bug。但是现在功能特性已经开发一半了,这时候该如何处理呢?

更多的git操作

git + github.com配合使用

发布、管理、派生

远程操作相关的git命令

  • $ git clone git://github.com/nickname/projectname.git [localprojectname]
    克隆一个远程的仓库
  • $ git remote add <remoteName> <remoteURL>
    添加远程跟踪的分支
  • $ git fetch origin master
    获取远程最新的代码
  • $ git merge origin/master
    合并远程最新的代码
  • $ git pull origin master
    获取并合并远程最新的代码,前两者的快捷组合命令
  • $ git push origin master
    将本地最新的代码推送至远程仓库

在github.com创建自己的仓库

在github.com创建自己的仓库

在github.com创建自己的仓库

在github.com成功创建自己的仓库后的操作步骤

在github.com创建自己的仓库

  • 登录 github.com 并新建一个仓库
  • 起好名字,完成配置
  • 本地是否已经有现成的代码?
    • 添加本地现有的代码
    • 或者创建全新的空仓库
      $ cd existing_git_repo
      $ git remote add origin git@github.com:nickname/projectname.git
      $ git push origin master

发布、同步本地的代码

  • $ git pull origin master
  • $ git push origin master
  • 注:直接pull/push主分支并不是很好的习惯

创建自己的github pages

  • 项目的 "landing page"
  • 形如:http://user.github.com/project/
  • 做法:
    • 创建一个名为 gh-pages 的远程分支
      $ git push origin gh-pages
    • 或者利用 Project Page Generator 自动生成
  • 实例:实例1 实例2
  • 官方说明:http://pages.github.com/

从github.com派生别人的仓库

在github.com派生别人的仓库

从github.com派生别人的仓库

  • 在别人仓库的主页,点击 "fork" 按钮派生别人的仓库
  • 完成自己的开发之后,点击 "pull request" 按钮,申请原作者将自己的改动合并到原仓库中

相关资源和参考文献

方便后续学习、实践

Getting Good with GIT

Getting Good with GIT

其它学习资料

引用材料

木有了!

欢迎提问