What is Version Control? What is Git?

Similar documents
Git 原理简介 Git 是一种分布式版本控制系统 每个克隆的仓库都包含有整个仓库的所有数据 任何修改先提交在本地, 再推送到服务器 创建和切换分支 合并修改相当方便而且快速 本文档中第一次出现的术语将以蓝色斜体标出 术语的含义是单一的 明确的 不可替代的 1

Pro Git

IP505SM_manual_cn.doc

自由軟體教學平台

epub 63-3

HKDH newsletter Sum indd

untitled

Pro Git 中文版

自由軟體教學平台

Ø Ø Microsoft Project Ø Zou Zhige VLSI 2

Subversion - 用户指南

自由軟體教學平台

1 Par t IBM 7 Par t 2 I BM IBM Par t Q & A

考 試 日 期 :2016/04/24 教 室 名 稱 :602 電 腦 教 室 考 試 時 間 :09: 二 技 企 管 一 胡 宗 兒 中 文 輸 入 四 技 企 四 甲 林 姿 瑄 中 文 輸 入 二 技 企 管 一

Microsoft Word - 生活禮儀柯友惠981

ebook140-8

iGENUS爱琴思邮件系统技术白皮书

目 录 第 一 章 电 力 行 业 内 部 控 制 操 作 指 南 概 述... 1 第 二 章 内 部 控 制 规 范 体 系 建 设 与 运 行 第 三 章 内 部 环 境 建 设 第 一 节 组 织 架 构 第 二 节 发 展 战 略 第 三 节


约 伯 记 : 约 伯 记 : 惟 有 我 一 人 逃 脱, 来 报 信 给 你 他 还 说 话 的 时 候, 又 有 人 来 说 : 你 的 儿 女 正 在 他 们 长 兄 的 家 里 吃 饭 喝 酒, 不 料, 有 狂 风 从 旷 野 刮 来, 击 打 房 屋 的 四 角, 房 屋 倒 塌 在

加 拉 太 书 :8 2 加 拉 太 书 2:4 8 过 了 三 年, 才 上 耶 路 撒 冷 去 见 矶 法, 和 他 同 住 了 十 五 天 9 至 于 别 的 使 徒, 除 了 主 的 兄 弟 雅 各, 我 都 没 有 看 见 20 我 写 给 你 们 的 不 是 谎 话, 这 是 我 在 神

<4D F736F F D20D5E3BFC6B7A2BCC6A1B A1B BAC5B9D8D3DACFC2B4EF C4EAB6C8CAA1C8EDBFC6D1A7D1D0BEBFBCC6BBAECFEEC4BFB5C4CDA8D6AA2E646F63>

IC-900W Wireless Pan & Tilt Wireless Pan & Tilt Remote Control / Night Vision FCC ID:RUJ-LR802UWG

柳州化工股份有限公司

編輯要旨 一 教育部為了協助本國失學民眾 新住民及 其他國外朋友 有系統的學習華語文的 聽 說 讀 寫 算等識字能力及跨文化 適應 以培養具有基本公民素養的終身學 習者 特別委託新北市政府教育局新住民 文教輔導科團隊編輯本教材 二 依據上述目的 本教材共有六冊 並分為 六級 分級及單元名稱詳如下表

1505.indd

目 錄 壹 九 十 九 年 度 交 通 孜 全 教 育 評 鑑 實 施 計 畫... 1 貳 教 育 部 交 通 孜 全 教 育 評 鑑 委 員 會 組 織... 4 參 教 育 部 評 鑑 學 校 等 第... 6 肆 交 通 孜 全 教 育 評 鑑 工 作 進 度... 8 伍 九 十 九 年

範本檔

糖尿病食譜


Microsoft Word 養生與保健_中山大學_講義


萬里社區老人健康照護手冊

Microsoft Word - 強制汽車責任保險承保及理賠作業處理辦法 doc

Microsoft Word - 06.Understanding of Pregnancy and Birth.doc

(➂)11. 炎 炎 夏 日, 即 使 下 起 滂 沱 大 雨, 都 消 除 不 了 令 人 心 煩 的 暑 氣 這 句 話 主 要 想 表 達 什 麼? ➀ 夏 日 裡 經 常 下 著 滂 沱 大 雨, 令 人 心 煩 ➁ 下 著 滂 沱 大 雨 的 日 子, 可 以 消 除 暑 氣 ➂ 夏 日

附 件 一 : 办 理 集 中 式 银 期 转 账 业 务 网 点 名 单 序 号 地 区 网 点 名 称 地 址 联 系 人 电 话 23 工 商 银 行 安 徽 省 铜 陵 百 大 支 行 铜 陵 市 长 江 东 路 50 号 鲁 桂 珍 工 商 银 行 安 徽

2. 二 年 級 吳 毓 秀 老 師 : 感 謝 午 餐 公 司 平 時 均 能 準 時 送 餐, 但 希 望 能 不 要 使 用 加 工 品, 且 學 生 反 映 希 望 能 多 加 蛋 品 的 食 物 3. 三 年 級 柯 阿 青 老 師 : 雞 肉 有 血 水 味, 請 午 餐 公 司 能 調

高雄市立五福國民中學九十四學年度第一學期第三次段考二年級本國語文學習領域試題卷

人 物 春 秋 杨 永 泰 将 其 削 藩 策 略 概 括 为 : 以 经 济 方 法 瓦 解 冯 玉 祥 的 第 二 集 团 军, 以 政 治 方 法 解 决 阎 锡 山 的 第 3 集 团 军, 以 军 事 方 法 解 决 李 宗 仁 的 第 四 集 团 军, 以 外 交 方 法 对 付 张 学

台北老爺校外實地參訪結案報告



,,,,,,, (,, ),,,,,,,,,,,,,,, ,,, 4 11,, ( ),,,, ( ), :, ( ),,, 1995, 66 ; ( ),, 1996, , 3-4,,


2002 4,,, 1941,,,,,,,,,,,,,,,,,, : ;:, 1991,

Microsoft Word - n doc

Microsoft Word - 三峽鎮衛生所_3_-張家宸.李永繁.doc

Microsoft Word - 武漢大學交流營心得_黃莉云_.doc

本文由筱驀釹贡献

声 明 本 公 司 及 全 体 董 事 监 事 高 级 管 理 人 员 承 诺 不 存 在 虚 假 记 载 误 导 性 陈 述 或 重 大 遗 漏, 并 对 其 真 实 性 准 确 性 完 整 性 承 担 个 别 和 连 带 的 法 律 责 任 本 公 司 负 责 人 和 主 管 会 计 工 作 的

内容概要 1 Git 简介 2 基本用法 3 SVN 转 Git 4 协同开发 5 在线浏览 6 相关技巧 7 相关资料 Hello, The Git World 2013 年 6 月 1 日 2 / 35

.... WrightEagle (USTC) 2D / 26

統計名詞0925

五 食 品 安 全 要 做 到 哪 三 证 五 防? 三 证 是 食 品 流 通 许 可 证 餐 饮 服 务 许 可 证 健 康 合 格 证 五 防 是 防 鼠 防 蝇 防 尘 防 腐 防 虫 六 国 家 卫 生 县 城 的 称 号 是 永 久 性 的 吗? 国 家 卫 生 县 城 不 是 终 生


Microsoft PowerPoint - Aqua-Sim.pptx

1575 Martin de Rada

PowerPoint 演示文稿

Basic System Administration


1.5招募说明书(草案)

* RRB *

ebook140-11

ebook 99-11

Chn 116 Neh.d.01.nis

untitled

SQL Server SQL Server SQL Mail Windows NT

PowerPoint 簡報

PowerPoint Presentation

Olav Lundström MicroSCADA Pro Marketing & Sales 2005 ABB - 1-1MRS755673

发行说明, 版

有 不 同 想 法 馬 上 記 錄 下 來, 作 為 寫 作 和 較 特 殊 題 型 的 答 題 材 料 把 握 這 四 到, 再 加 上 考 試 用 書 的 重 點 整 理, 搭 配 服 用, 讓 課 文 與 你 不 再 有 距 離 2. 考 試 成 績 好 差, 心 情 也 好 差, 可 不 可

A9RF716.tmp

Eclipse C C++, or

ebook140-9

Microsoft Word - 3圓來如此.doc

像 客 样 使 命令行 徐 东

Microsoft Word - 縺翫♀縺輔°邨梧ク医・蜍輔″陦ィ邏呻シ茨シ。・鍋沿・

05_資源分享-NFS及NIS.doc

Windows XP

一.NETGEAR VPN防火墙产品介绍

Symantec™ Sygate Enterprise Protection 防护代理安装使用指南

第六章

PowerPoint 簡報

<4D F736F F F696E74202D20C8EDBCFEBCDCB9B9CAA6D1D0D0DEBDB2D7F92E707074>

untitled

GoFlex Home UG Book.book

封面07 拷贝.tif

third in 20 years. The student population will be in the range of million before Keywords education age population family planning

epub83-1

计算机网络概论


05 01 X Window X Window Linux Linux X Window X Window Webmin Web Linux Linux X Window X Window Notebook PC X Window X Window module Linux Linux kernel

_BK06.ps, page Preflight ( _BK06.indd )

TX-NR3030_BAS_Cs_ indd

ebook70-5

EJB-Programming-3.PDF

weblogic

案例分享产品文档

Transcription:

Git Littlebtc (Hsiao-Ting Yu) Scott Chacon Pro Git CC-BY-NC-SA-3.0

What is Version Control? What is Git?

Local rcs

Server Checkout Commit Subversion SVN Server

Server git, Mecurial (hg), bazaar (bzr) Branch

Git Linux Kernel (http://en.wikipedia.org/wiki/linux_kernel, Wikipedia contributors, CC-BY-SA)

From: Linux Kernel Development: How Fast it is Going, Who is Doing It, What They are Doing, and Who is Sponsoring It, Fair use(?)

先前的嘗試 BitKeeper Linus Torvalds 我就是不喜歡中 央式的系統 所以 Linux Kernel 以前的變更都是用 Patch + 壓 縮檔來散布 2002年 Linus 採用 BitKeeper 分 散版本控制系統 專有 社群不滿 甚至嘗試逆向工程 於是跟 BitKeeper 開發商鬧翻 Git 因此而生 (pic: http://commons.wikimedia.org/wiki/file:linus_torvalds.jpeg CC-BYSA-3.0 & GFDL)

Git Linux Kernel And then realize that nothing is perfect. Git is just *closer* to perfect than any other SCM out there. -- Linus on Git mailing list

Git Basics

Git

Git...

Git Checksum Staging

Using Git

Git Repository Repository git init.git

Initial Commit README touch README git add. git commit -m 'Initial commit'

Repository Clone $ git clone http://github.com/jquery/jquery.git Initialized empty Git repository in /Users/littlebtc/work/jquery/.git/ remote: Counting objects: 14043, done.remote: Compressing objects: 100% (4070/4070), done. remote: Total 14043 (delta 9717), reused 13753 (delta 9452) Receiving objects: 100% (14043/14043), 12.45 MiB 288 KiB/s, done. Resolving deltas: 100% (9717/9717), done.

File Status git checkout -- filename git reset HEAD filename git add filename git add filename git rm filename git commit.gitignore.gitignore commit! git status

git status

Commit log git log (console) GitX (Mac) giggle (Linux) ( )

...!? Commit git commit --amend Stage Unstage git reset HEAD file git checkout -- file

Remote Server!! Branch Remote Branch master Remote origin git pull origin = git fetch origin + git merge origin/master Merge git push origin master Master Push Origin

"Remote" Protocol file:// ssh:// git:// http:// or https://

Branches

Commit git Commit

commit Commit Commit Snapshot Tree

branch commit

git branch testing "testing" branch git HEAD Branch

git checkout testing HEAD Testing Branch or git checkout -b testing Branch

Commit... testing master

git checkout master Master What's next?

git commit -m 'Change the master!'

Merge Rebase Push Rebase

Merge

Branch Bug hotfix branch master

git checkout master git merge hotfix master master hotfix Commit fast-foward

Branch Issue 53 branch Merge

git merge $ git checkout master $ git merge iss53 Merge made by recursive. README 1 + 1 files changed, 1 insertions(+), 0 deletions(-)

CONFLICT git status git status git commit Merge Merge Commit Message

Rebase

Merge experiment branch?

git checkout experiment git rebase master C3 Rebase C4 (onto C4)

git checkout master git merge experiment Rebase fast-forward Merge

...

git rebase --onto master server client client Branch client server master

git checkout master git merge client client fast-forward Merge

git rebase master server Branch server Branch master

git checkout master git merge server git branch -d client git branch -d server Merge Branch :)

千萬不要 對已經Push的東西 作Rebase 除非你想成為害群之馬 Pic: http://commons.wikimedia.org/wiki/file:castle_romeo.jpg, Public Domain, United States Department of Energy

Remote Branches

Remote Branch Branch origin master origin/master git clone origin/master master

Remote Branch...

Pull = Fetch + Merge Origin Fetch Merge git pull git pull origin = git fetch origin git merge origin/master git merge origin/master b03ed

Remote

Fetch Remote Branch

Distributed Workflows

Commit/ Patch git diff --check Commit git add --patch Stage Commit Message

John 738ee Fetch Merge Push Jessica Branch Issue 54

Jessica Fetch Jessica John issue54 Fast-foward git checkout master git merge issue54 origin/master git merge origin/master Push

Branch Merge

A B Branch Rebase A Merge B

... Still a lot to learn!

github... Open Source

Pro Git http://progit.org/ Git ihower Git http://ihower.tw/blog/ archives/category/git