git内部培训资料

合集下载

《git使用培训》课件

《git使用培训》课件

Git的安装与配置
安装方法
指导参与者如何在不同操作系 统上安装Git,并提供相关资源。
配置项
介绍Git的常用配置项,包括用 户名、邮箱和默认编辑器。
全局配置
讲解如何使用全局配置对所有 仓库生效,便捷管理Git设置。
Git的基础操作
1
版本控制
展示如何创建版本、回滚修改,以及查看文件差异。
2
仓库操作
补丁操作
学习如何创建和应用补丁,方便协作和代码修改。
重写提交记录
展示如何使用Git的交互式rebase命令编辑提交记录。
Git的使用案例
实践应用
分享一些真实场景下使用Git 的案例,如个人项目管理、 协作开发等。
Hale Waihona Puke 团队开发介绍如何使用Git进行团队合 作开发,分工协作和代码合 并。
协作方式
探讨不同协作模式下的Git使 用方法,如Fork流程和Pull Request。
总结适合使用Git的场景, 如个人项目、团队开发和 开源贡献。
展望Git的未来,包括更好 的性能、更多的集成和更 丰富的功能。
《git使用培训》PPT课件
# Git使用培训 介绍Git的基本概念、优点和工作原理,以及本次培训的内容和目标。
什么是Git?
基本概念
介绍Git的核心概念,如版本控制、工作区和暂存区。
优点
探讨Git相比于其他版本控制系统的优势,如分布式和可靠性。
工作原理
详解Git的底层工作原理,包括对象存储和引用指针。
演示如何初始化仓库、添加文件、删除文件和查看提交历史。
3
基本命令
介绍常用的Git命令,如add、commit、branch和merge等。

《高效研发之Git使用及课件分享》

《高效研发之Git使用及课件分享》

库。
3
创建新仓库
通过git init命令或从远程仓库克隆来创建 新的Git仓库。
推送与拉取
使用git push命令将本地更改推送到远程 仓库,通过git pull命令将远程仓库中的更 改拉取到本地。
Git分支管理及合并功能
创建分支
从主分支或其他分支中创建 新的分支来进行独立开发。
合并分支
使用git merge命令将特定分 支中的更改合并到当前分支。
《高效研发之Git使用及 课件分享》
本课程将帮助你深入了解Git的概念、优势,以及在高效研发中的应用与技巧。 掌握Git的基本工作流程和常用命令,以及团队协作、错误处理和性能优化等 关键内容。
Git的基本工作流程
1
添加与提交
2
使用git add命令将文件添加到暂存区,然
后通过git commit命令提交更改到本地仓
解决冲突
当合并分支时,如果存在冲 突,需要手动解决冲突并提 交更改。
Git的标签管理和版本控制
1
创建标签
使用git tag命令创建新的标签,通常用于
切换版本
2
标记重要的版本。
使用git checkout命令切换到特定标签或
提交记录,回退到历史版本。
3
撤销更改
使用git revert命令撤销特定提交的更改, 保留修改历史。
Git的远程仓库操作与协作
克隆远程仓库
使用git clone命令从远程仓库复 制项目到本地。
Pull Request
在协作开发中,通过创建Pull Re quest来请求代码审核和合并。
远程仓库管理
使用git remote命令管理远程仓库, 包括添加、删除、重命名远程仓 库等。

Git培训

Git培训

Tag管理
tag(标签)
一个ref指向一个标签或提交对象。与 head 相反,标 签并不会在一次提交操作后改变。标签(不是标签对 象)存储在$GIT_DIR/refs/tags/。 一个标签通常是用 来标识提交家族链(commit ancerstry chain)里的某 一点。
参考资料 /zh/branching/#tag
和svn cvs相比 有下面的好处:
如遇服务器宕机,整个协同工作无法进行,因为此 时无法进行代码更新提交,当然也不能checkout最 新代码
如果服务器数据丢失,整个版本数据也将丢失,除 非刻意为版本管理服务器备份
而git可以方便地在本地进行版本管理,就如同 在你本地有一个版本管理服务器一样。你可以 选择在合适的时候将本地版本推送到统一的版 本管理服务器。
分支 创建分支 git branch <name> git branch <name> <commit-id> 删除分支 git branch -d <name> 查看分支 git branch git branch -r” //remote branch 转动某一分支 git checkout <commit-id> git checkout -b <name> <commit-id> 分支合并 git merge <name> //合并指定的分支到当前分支
revert
还原一个版本的修改,必须提供一个具体的Git版本号,例如'git revert bbaf6fb5060b4875b18ff9ff637ce118256d6f20'
区别
reset是指将当前head的内容重置,不会留任何痕迹。 revert是撤销某次提交,但是这次撤销也会作为一次提交进行保存。

Git学习文档

Git学习文档

Git学习⽂档#########################################################Study Document for Git#########################################################Git 基础Git ⽂件的三种状态:已提交(committed)、已修改(modified)和已暂存(staged)。

Git ⼯作⽬录的状态:已跟踪和未跟踪。

已提交表⽰数据已经安全的保存在本地数据库中。

已修改表⽰修改了⽂件,但还没保存到数据库中。

已暂存表⽰对⼀个已修改⽂件的当前版本做了标记,使之包含在下次提交的快照中。

基本的 Git ⼯作流程如下:1. 在⼯作⽬录中修改⽂件。

2. 暂存⽂件,将⽂件的快照放⼊暂存区域。

3. 提交更新,找到暂存区域的⽂件,将快照永久性存储到 Git 仓库⽬录。

Git 语法设置 Git 的配置git config --listgit config --global ***git config --global user.email @.comgit helpgit help verbgit verb --help克隆远端仓库git clone url检查当前⽂件状态git status列出当前分⽀和⽂件的状态:已跟踪/未跟踪。

[***@*** deployment]$ git status# On branch master# Untracked files:# (use "git add <file>..." to include in what will be committed)## test.mdnothing added to commit but untracked files present (use "git add" to track)跟踪新⽂件git add file[***@*** deployment]$ git add test.md[***@*** deployment]$ git status# On branch master# Changes to be committed:# (use "git reset HEAD file..." to unstage)## new file: test.md#Changes to be committed: 已暂存状态。

git培训

git培训
清除代码回退,sha1代码需要回退到的版本的commit ID $git reset --hard <SHA1>
清除回退,保留本地修改 $git reset --soft <SHA1>
删除提交 git revert <SHA1>
查询记录的SHA1 $git reflog
GPIO
./kernel-3.10/tools/dct/DrvGen.exe
./vendor/mediatek/proprietary/factory/dct/DrvGen.exe
./bootable/bootloader/pre
./bootable/bootloader/lk/scripts/dct/DrvGen.exe
从clone库提交修改,需把本地库切换到tmp分支 $git checkout tmp
从clone库提交
查看修改$git status
$git add *
$git commit -m "sssss"
$git push
以UI查看提交记录 $qgit
查看修改log信息,显示版本SHA1 $git log --oneline -3
查看分支:git branch
创建分支:git branch <name>
切换分支:git checkout <name>
创建+切换分支:git checkout -b <name>
合并某分支到当前分支:git merge <name>
删除分支:git branch -d <name>
./bootable/bootloader/preloader/custom/hq8127

Git培训资料1

Git培训资料1

文档编号:第版分册名称:第册/共册工作流程手册修订履历目录1 概述 (1)1.1 文档目的和范围 (1)1.2 软件安装 (1)1.3 代码基线 (1)2 工作流程 (1)2.1 克隆本地远程库代码 (1)2.2 添加开发人员远程库地址 (3)2.2.1 GIT-GUI (3)2.2.2 汉龟 (3)2.3 代码集成(Merge) (6)2.3.1 GIT-GUI (6)2.3.2 汉龟: (8)2.4 Merge之后后的后续工作 (10)2.5 Apk加密.............................................................................................................. 错误!未定义书签。

2.6 填写ReleaseNote ................................................................................................. 错误!未定义书签。

2.7 版本发布前的验证.............................................................................................. 错误!未定义书签。

2.8 版本发布.............................................................................................................. 错误!未定义书签。

3 Git的其他用法 (13)1概述1.1 文档目的和范围本文档描述了项目中配置工具的用法,通过阅读该手册开发人员能够独立完成工作。

本文档主要读者为项目组新员工,对Git工具不熟悉人员。

新员工培训-Git部分

新员工培训-Git部分

切换到新建的分支
git checkout test
13
Git操作
Git分支合并
git merge test
Q&A
谢谢!
稳定版本
解决问题追 踪系统里的 #53问题
7
GIt操作
Git仓库的创建
mkdir git cd git git --bare init
8
Git操作
本地clone服务器仓库到本地
git clone root@192.168.120:/home/sundy/firmware
9
Git操作
已提交(committed),已修改(modified),已暂存(staged)
5
GIT分支
何谓分支
提交的过程:树(tree)对象,树指针。6Fra bibliotekGIT合并
分支的合并(整合分支的一种方式)
分支的目的,即为了解决新问题(bug) 当前的bug解决完后,如何规整到项目里? 应用场景: 已发布的
Git提交
提交修改的本地文件
git commit -a 等价于: git add . git commit
10
Git操作
GIt推送
推送本地版本到远程分支 git push
11
Git操作
Git 更新本地库
git pull
12
Git操作
Git 创建新分支
git branch test
新员工培训
Git部分
2
主要内容
什么是版本管理 Git 介绍 Git常用操作
3
什么是版本管理
版本管理
版本管理是一种记录若干文件内容变化,以便将来查 阅特定版本修订情况的系统。

Git基础入门知识培训

Git基础入门知识培训
A B C E local C’ local 建议使用场景:分支合并,临时验证
git pull 后如何更新工作树 首先不建议使用git pull代替fetch来获取最新代码。 若出现可使用如下方法解决 方法1 git reset回本地修改前的那次提交;git pull;git log –p origin/master master后,git merge; 方法2 git checkout origin master 如何规避:克隆代码后,本地建立2条分支,一条用于与服务器保持同步, 一条用来提交代码
用mixed模式。
附注:推荐使用soft方式,本地、index的会被保留。
FAQ
Q3: git rebase如何操作?执行gut pull,提示无法更行,工作树不是最新。需 要执行哪几部操作恢复更新?
A:git rebase 将远程commit和本地commit以及其祖先做了一次三方合并,并将HEAD origin 指向local分支。 D
Revert
还原一个版本的修改,必须提供一个具体的Git版本号,例如'git revert bbaf6fb5060b4875b18ff9ff637ce118256d6f20'
二者区别
reset是指将当前head的内容重置,不会留任何痕迹。 revert是撤销某次提交,但是这次撤销也会作为一次提交进行保存。 附注:若已push到服务器使用git revert,若未push到服务器使用git reset。
hard - 重设(reset) index和working directory,自从<commit>以来在working directory中的任何改变都被丢
弃,并把HEAD指向<commit>

git学习文档

git学习文档

Git学习文档1.创建版本库初始化一个Git仓库,使用gitinit命令。

添加文件到Git仓库,分两步:∙第一步,使用命令git add <file>,注意,可反复多次使用,添加多个文件;∙第二步,使用命令git commit,完成。

2.时光穿梭机∙要随时掌握工作区的状态,使用git status命令。

∙如果git status告诉你有文件被修改过,用git diff可以查看修改内容。

3.版本回退∙HEAD指向的版本就是当前版本,因此,Git允许我们在版本的历史之间穿梭,使用命令git reset --hard commit_id。

∙穿梭前,用git log可以查看提交历史,以便确定要回退到哪个版本。

∙要重返未来,用gitreflog查看命令历史,以便确定要回到未来的哪个版本。

4.工作区和暂存区∙前面讲了我们把文件往Git版本库里添加的时候,是分两步执行的:∙第一步是用git add把文件添加进去,实际上就是把文件修改添加到暂存区;∙第二步是用git commit提交更改,实际上就是把暂存区的所有内容提交到当前分支。

∙因为我们创建Git版本库时,Git自动为我们创建了唯一一个master分支,所以,现在,git commit就是往master分支上提交更改。

∙你可以简单理解为,需要提交的文件修改通通放到暂存区,然后,一次性提交暂存区的所有修改。

5.管理修改Git是如何跟踪修改的,每次修改,如果不add到暂存区,那就不会加入到commit中。

6.撤销修改场景1:当你改乱了工作区某个文件的内容,想直接丢弃工作区的修改时,用命令git checkout -- file。

场景2:当你不但改乱了工作区某个文件的内容,还添加到了暂存区时,想丢弃修改,分两步,第一步用命令git reset HEAD file,就回到了场景1,第二步按场景1操作。

场景3:已经提交了不合适的修改到版本库时,想要撤销本次提交,参考版本回退一节,不过前提是没有推送到远程库。

git知识点总结

git知识点总结

git知识点总结Git 是一个分布式版本控制系统,广泛应用于软件开发领域。

Git 的使用对于团队协作和代码管理非常重要,因此掌握 Git 的知识是每个开发者都应该具备的基本技能之一。

本文将对 Git 的一些重要知识点进行总结,希望能帮助读者更好地了解和应用 Git。

一、Git 的基本概念1. 版本控制系统版本控制系统是一种管理文件变更的系统,可以追踪文件的修改历史,比较不同版本之间的差异,并且能够恢复到任意一个历史版本。

Git 是一种分布式版本控制系统,可以在本地进行版本控制操作,并且可以和远程仓库进行同步。

2. 仓库(Repository)Git 的仓库是用来存储项目文件的地方,包含了项目文件的所有版本历史记录。

每个项目都有一个对应的仓库,可以在本地或者远程进行操作。

3. 提交(Commit)提交是指将文件或者目录的修改保存到仓库中,每次提交都会生成一个新的版本,可以通过提交记录查看文件的修改历史。

4. 分支(Branch)分支是用来实现并行开发和管理代码的机制,可以将代码的修改记录独立保存在不同的分支上,然后再合并到主分支上。

5. 合并(Merge)合并是指将一个分支上的修改合并到另一个分支上,可以将不同分支的代码合并在一起。

6. 远程仓库(Remote Repository)远程仓库是指存放在网络服务器上的代码仓库,可以用来和团队成员共享代码并进行协作开发。

7. 拉取(Pull)拉取是指将远程仓库的代码同步到本地仓库中,可以更新本地仓库的代码。

8. 推送(Push)推送是指将本地仓库的代码同步到远程仓库中,可以将本地修改的代码上传到远程仓库。

二、Git 的基本操作1. 初始化仓库要使用 Git 进行版本控制,首先需要在项目目录下初始化一个 Git 仓库,可以通过执行 git init 命令来初始化仓库。

2. 添加文件在 Git 仓库中,需要将文件添加到版本控制中才能进行管理,可以通过 git add 命令将文件添加到暂存区。

软件配置管理内部培训(三库、集成)

软件配置管理内部培训(三库、集成)

软件配置管理内部培训(三库、集成)1. 背景介绍软件配置管理是软件工程中非常重要的一部分。

它通过对软件开发过程中所产生的各种文档、代码、数据等进行管理和控制,来保证软件开发过程的可控性、可维护性和可重复性。

而在实际的软件工程项目中,软件配置管理通常包括三个部分:源代码管理、版本管理和集成管理。

其中源代码管理应用最广泛,版本管理和集成管理在大型软件项目中才有比较明显的体现。

因此,在软件项目的开发过程中,对软件配置管理的三个部分的理解和应用非常重要。

为了加强内部员工对软件配置管理的理解和应用,我们组织了本次内部培训,主要涉及三个部分的内容,即源代码管理、版本管理和集成管理。

2. 源代码管理2.1 源代码管理的基本概念源代码管理是指对软件开发过程中产生的源代码进行统一管理和控制,包括对源代码进行版本控制、共享和备份等。

在实际的软件项目中,源代码管理通常使用版本控制工具来进行管理,如Git、SVN等。

在源代码管理中,基本概念包括代码库(Repository)、分支(Branch)、标签(Tag)等。

2.2 Git的基本使用Git是目前最流行的开源分布式版本控制系统。

在源代码管理中,Git的应用越来越广泛。

本部分的培训将介绍Git的基本使用方法,包括如何使用Git进行版本控制、如何创建分支、如何合并分支等。

3. 版本管理3.1 版本管理的基本概念版本管理是指对软件开发过程中的版本进行管理、变更和发布等。

在软件项目中,版本管理是非常重要的一部分,它可以保证软件版本的可控性和可维护性,同时也方便了团队协作和项目管理。

在版本管理中,基本概念包括版本库(Repository)、分支(Branch)、补丁(Patch)等。

3.2 SVN的基本使用SVN是一个免费、开源的版本控制系统,也是比较流行的一个版本管理工具。

本部分的培训将介绍SVN的基本使用方法,包括如何创建版本库、如何进行版本控制、如何创建分支和标记等。

4. 集成管理4.1 集成管理的基本概念集成管理是指在软件开发过程中对各个模块进行集成、测试、发布的管理。

Git知识复习记录-尚硅谷Git入门到精通全套教程(涵盖GitHubGitee码云GitL。。。

Git知识复习记录-尚硅谷Git入门到精通全套教程(涵盖GitHubGitee码云GitL。。。

Git知识复习记录-尚硅⾕Git⼊门到精通全套教程(涵盖GitHubGitee码云GitL。

P1-P18内容复习P6 06_ 尚硅⾕_ Git概述_⼯作机制和代码个⼈学习总结:关键理解⼯作区暂存区本地库之后学习到git的常⽤命令就是add commit⼯作区就是指代码磁盘的⽬录位置看图理解复习即可不懂再看视频简单回忆即可明⽩P8 08_ 尚硅⾕_ Git_ 命令_设置⽤户签名因为之前是学过git的所以已经设置过⽤户签名跟着视频再次复习时就没有再重新设置⽤户签名了⽹上搜了⼀下如何查看已设置的⽤户签名的⽅法※注意:这⾥设置⽤户签名和将来登录 GitHub(或其他代码托管中⼼)的账号没有任何关系。

P9 09_ 尚硅⾕_ Git_ 命令_初始化本地库跟练截图P10 10_尚硅⾕_Git命令查看本地库状态这⼀部分会经常使⽤⼀些命令看视频就觉得很熟悉但具体的⼜记得不是很清楚视频⾥说了git和Linux的命令是通⽤的因为他俩是⼀个爸爸所以⼜百度了⼀下常⽤命令其实配套的笔记⾥也有也完全够⽤了跟练截图:红⾊表⽰这个⽂件当前还仅仅是在⼯作区 git还没有追踪过这个⽂件P11 11_ 尚硅⾕_ _Git 命令添加暂存区如果你不想保存⼀个历史版本暂存区⾥的内容是可以删除的个⼈总结:主要就是⼏个常⽤命令:git add就是把你⼯作区⾥的⽂件添加到暂存区。

通过git status查看⽂件状态,如果⽂件名是红⾊的说明git还没追踪到,也就是你没有把这个⽂件add到暂存区,⽂件名是绿⾊的就说明已经add到了暂存区。

通过git rm删除⽂件仅仅是把暂存区⾥的⽂件删掉了,你本地的⼯作区⾥的⽂件仍然存在。

P12 12_ 尚硅⾕_Git_ 命令提交本地库关键就是命令git commit将⽂件提交到了本地库还有就是这个版本号之后要想切换版本需要⽤到P13 13_ 尚硅⾕_ Git命令_修改⽂件P14 14_ 尚硅⾕_ Git命令_版本穿梭版本穿梭底层就是移动head指针P16 16_ 尚硅⾕_ Git分⽀_查看&创建&切换P17 17_ 尚硅⾕_ Git分⽀_ _合并分⽀(正常要把hot-fix分⽀合并到master分⽀上就必须站到master分⽀上P18 18_ 尚硅⾕_ Git分⽀合并分⽀(冲突。

GIT入门培训

GIT入门培训

打补丁
为什么打补丁?
git log
GIT分支管理
分支开发工作流 命名
GIT小技巧
配置别名 git config --globalalias.st status / .git/config
Linux 命令行配置 .bashrc alias gs='git status '
Shell 工具 oh-my-zsh的扩展系统包含强大的 Tab补全功能,且许多提示符"主题” 可以展示版本控制数据
其中,Header 是必需的,Body 和 Footer 可以省略。 不管是哪一个部分,任何一行都不得超过72个字符, 避免自动换行影响美观。
2. Header 格式
(1)type type用于说明 commit 的类别,只允许使用下面3个标识。 • feat:新功能(feature) • fix:修补bug • docs:文档(documentation)
Git commit 规范
一般来说,commit message 应该清晰明了,说明本次提交的目的。
规范: 1. 每次提交,Commit message 都包括三个部分:Header,Body 和 Footer。
<type>(<scope>): <subject>// 空一行<body>// 空一行<footer>
现在,如果master中新的提交和你的工作是相关的。为了将新的提交并入你的分支,你有两个选择: merge 或 rebase。
Rebase
将feature分支并入master分支:
1. git checkout feature 2. git rebase master

git内部培训资料

git内部培训资料

git内部培训资料本文旨在提供Git内部培训资料,介绍Git的基本概念、常用命令以及实际应用。

通过学习和掌握Git的使用,帮助团队成员更好地进行版本控制和协作开发,提高项目管理和代码质量。

1. Git简介1.1 什么是GitGit是一种分布式版本控制系统,用于跟踪文件和文件夹的变化,记录修改历史,并支持多人协同开发。

1.2 Git的优势- 分布式版本控制,无需依赖中央服务器- 快速高效的操作和文件传输- 强大的分支和合并功能- 可靠的数据完整性和版本追踪能力2. Git的基本操作2.1 安装Git- 在Windows、Mac和Linux系统上安装Git客户端- 配置用户信息(用户名、邮箱等)2.2 创建新仓库- 在本地初始化仓库- 克隆远程仓库到本地2.3 添加和提交- 将文件添加到Git仓库- 提交修改到本地版本库2.4 查看和比较- 查看工作区、暂存区和版本库中的文件状态 - 对比文件的修改内容和历史版本差异2.5 撤销和回滚- 回退修改,撤销文件的修改或删除- 版本回滚,恢复到指定版本或分支2.6 分支和合并- 创建、切换和删除分支- 合并分支或版本2.7 远程仓库- 添加远程仓库- 推送和拉取远程仓库的修改- 解决冲突和处理分支管理3. 实际应用案例3.1 协同开发- 多人协作开发项目的流程和规范- 分支管理策略和代码合并3.2 版本发布- 标签管理和版本发布流程- 版本回滚和紧急修复3.3 项目管理- 代码质量管理和持续集成- Bug修复和任务管理4. 常见问题解答在实际使用Git过程中遇到的常见问题和解决方法汇总。

总结:通过本次内部培训,我们详细介绍了Git的基本概念和操作,以及实际应用中常见的场景和解决方法。

掌握Git的使用将帮助团队成员更好地进行版本控制和协作开发,提高项目的管理效率和代码质量。

希望通过不断的学习和实践,能够更深入地理解和应用Git,为团队的开发工作带来更大的便利和效益。

Git学习资料

Git学习资料

Git1.Git的历史同生活中的许多伟大事件一样,Git 诞生于一个极富纷争大举创新的年代。

Linux 内核开源项目有着为数众广的参与者。

绝大多数的Linux 内核维护工作都花在了提交补丁和保存归档的繁琐事务上(1991-2002年间)。

到2002 年,整个项目组开始启用分布式版本控制系统BitKeeper 来管理和维护代码。

到2005 年的时候,开发BitKeeper 的商业公司同Linux 内核开源社区的合作关系结束,他们收回了免费使用BitKeeper 的权力。

这就迫使Linux 开源社区(特别是Linux的缔造者Linus Torvalds )不得不吸取教训,只有开发一套属于自己的版本控制系统才不至于重蹈覆辙。

他们对新的系统订了若干目标:•速度•简单的设计•对非线性开发模式的强力支持(允许上千个并行开发的分支)•完全分布式•有能力高效管理类似Linux 内核一样的超大规模项目(速度和数据量)下载地址:https:///pub/software/scm/git/2.Git与Svn对比2.1.Svn原理分析svn属于集中式版本管理控制系统,系统中保存了所有文件的修订版本,而协同工作人员通过连接svn服务器,提取出最新的文件,获取提交更新。

下图就是标准的集中式版本控制工具管理方式:集中管理方式在一定程度上看到其他开发人员在干什么,而管理员也可以很轻松掌握每个人的开发权限。

但是相较于其优点而言,集中式版本控制工具缺点很明显:1、服务器单点故障2、容错性差2.2.Git原理分析2.2.1.Svn记录具体差异Git 和其他版本控制系统的主要差别在于,Git 只关心文件数据的整体是否发生变化,而大多数其他系统则只关心文件内容的具体差异。

这类系统(CVS,Subversion,Perforce,Bazaar等等)每次记录有哪些文件作了更新,以及都更新了哪些行的什么内容,请看图 1.4。

2.2.2.Git记录整体变化Git 并不保存这些前后变化的差异数据。

git内部培训资料

git内部培训资料

#查看尚未暂存的文件更新了哪些部分 $ git diff #查看暂存区文件和上次提交的快照之间的差异 $ git diff --cached
#提交更新 #每次准备提交前,先用 git status 看下,是不是都已暂 #存起来了,然后再运行提交命令 $ git commit $ git commit -m 'initial project version' #跳过使用暂存区域 $ git commit -a
#自动完成 #Windows 上安装了 msysGit,默认已经配好了这个自 动完成脚本。 #Linux 上 $ cp {$GitHome}contrib/completion/gitcompletion.bash /etc/bash_completion.d/
#Git 命令别名 $ git config --global alias.co checkout $ git config --global alias.br branch $ git config --global st 'log -1 HEAD'
#查看远程仓库信息 $ git remote show origin #远程仓库的重命名 $ git remote rename pb paul #远程仓库的删除 $ git remote rm paul
#列显已有的标签 $ git tag #列出符合条件的标签 $ git tag -l 'v1.4.2.*'
#创建分支 $ git branch testing #切换到分支 $ git checkout testing #创建并切换到分支 $ git checkout -b testing
#与当前分支合并 $ git merge testing #合并时难免有冲突 #调用图形化工具解决冲突 $ git mergetool #删除分支(不能删除一个未合并的分支) $ git branch -d testing #强制删除一个分支 $ git branch -D testing
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

直接记录快照,而非差异比较。
近乎所有操作都是本地执行
时刻保持数据完整性 多数操作仅添加数据 文件的三种状态-已修改(modified)、已暂存
(staged)和已提交(committed)
本地建立版本库
本地版本控制
多主机异地协同工作 重写提交说明
有后悔药可以吃
#查看远程仓库信息 $ git remote show origin #远程仓库的重命名 $ git remote rename pb paul #远程仓库的删除 $ git remote rm paul
#列显已有的标签 $ git tag #列出符合条件的标签 $ git tag -l 'v1.4.2.*'
superwen
Linux 内核开源项目有着为数众广的参与者。一开始
整个项目组BitKeeper 来管理和维护代码。 2005 年, BitKeeper不再能免费使用,这就迫使 Linux 开源社区 开发一套属于自己的版本控制系统。 自诞生于 2005 年以来,Git 日臻成熟完善,它的速度 飞快,极其适合管理大项目,它还有着令人难以置信 的非线性分支管理系统,可以应付各种复杂的项目开 发需求。
#新建标签 #标签有两种类型:轻量级的(lightweight)和含附注 的(annotated) #创建一个轻量级标签 $ git tag v1.4-lw #创建一个含附注类型的标签非常简单 $ git tag -a v1.4 -m 'my version 1.4'
#分享标签 #默认情况下,git push 不会把标签传送到远端服务器 $ git push origin v1.5 #一次推送所有本地新增的标签 $ git push origin --tags
#跟踪新文件 $ git add *.c #将文件添加到暂缓区,每次修改之后都需要将文件放到暂缓区去 $ git add *.c #忽略某些文件 #修改 .gitignore *.a # 忽略所有 .a 结尾的文件 !lib.a # 但 lib.a 除外 /TODO # 仅仅忽略项目根目录下的 TODO 文件,不包括 subdir/TODO build/ # 忽略 build/ 目录下的所有文件 doc/*.txt # 会忽略 doc/notes.txt 但不包括 doc/server/arch.txt
#查看版本 $ git --version #配置 $ git config --global "John Doe" $ git config --global user.email johndoe@ //--system 系统配置 //--global 该用户的全局配置 #查看配置信息 $ git config --list $ git config #获取帮助,任意一个都可以 $ git help config $ git config --help $ man git-config
#自动完成 #Windows 上安装了 msysGit,默认已经配好了这个自 动完成脚本。 #Linux 上 $ cp {$GitHome}contrib/completion/gitcompletion.bash /etc/bash_completion.d/
#Git 命令别名 $ git config --global alias.co checkout $ git config --global alias.br branch $ git config --global st 'log -1 HEAD'
#在工作目录中初始化新仓库 $ cd myproject $ git init #从现有仓库克隆,克隆完整数据,包括版本信息 $ git clone git:///schacon/grit.git $ git clone git:///schacon/grit.git mygrit #检查当前文件状态 $ git status
#移除文件 $ git rm grit.gemspec #移除已经修改的文件 $ git rm grit.gemspec-f #仅仅从暂缓区移除 $ git rm grit.gemspec
#移除文件 $ git rm grit.gemspec #移除已经修改的文件 $ git rm grit.gemspec-f #仅仅从暂缓区移除 $ git rm grit.gemspec #移动文件 $ git mv file_from file_to
#查看提交历史 $ git log -p 展开显示每次提交的内容差异 -n 则仅显示最近的n次更新 --stat,仅显示简要的增改行数统计 --pretty=format:"%h - %an, %ar : %s"
#修改最后一次提交 $ git commit -m 'initial commit' $ git add forgotten_file $ git commit –amend #上面的三条命令最终只是产生一个提交. #取消已经暂存的文件 $ git reset HEAD benchmarks.rb #取消对文件的修改 $ git checkout -- benchmarks.rb
#查看当前的远程库 $ git remote #显示对应的克隆地址(origin 为默认的远程库名称) $ git remote –v #添加远程仓库 $ git remote add pb git:///paulboone/ticgit.git
#从远程仓库抓取数据 #fetch 命令只是将远端的数据拉到本地仓库,并不自动 合并到当前工作分支 $ git fetch [remote-name] #推送数据到远程仓库 $ git push origin master
#创建分支 $ git branch testing #切换到分支 $ git checkout testing #创建并切换到分支 $ git checkout -b testing
#与当前分支合并 $ git merge testing #合并时难免有冲突 #调用图形化工具解决冲突 $ git mergetool #删除分支(不能删除一个未合并的分支) $ git branch -d testing #强制删除一个分支 $ git b来自anch -D testing
#查看尚未暂存的文件更新了哪些部分 $ git diff #查看暂存区文件和上次提交的快照之间的差异 $ git diff --cached
#提交更新 #每次准备提交前,先用 git status 看下,是不是都已暂 #存起来了,然后再运行提交命令 $ git commit $ git commit -m 'initial project version' #跳过使用暂存区域 $ git commit -a
#查看分支 $ git branch #查看分支最后一次提交的信息 $ git branch -v #查看已经合并|尚未合并的分支 $ git branch --merged|no-merged
#同步远程服务器上的数据到本地 $ git fetch origin #推送本地分支 $ git push origin serverfix #推送本地分支serverfix为origin的awesomebranch分支 $ git push origin serverfix:awesomebranch #删除远程分支 $ git push origin:serverfix
更好用的提交列表 更好的差异比较。 更完善的分支系统 代理SVN提交实现移动式办公 无处不在的分页器 速度快
使用包安装,以centos为例
$ yum install git $ yum install git-svn git-email git-gui gitk 使用源代码安装 从官网下载源码 $ tar –jxvf git-version.tar.bz2 $ cd git-version $ make prefix=/usr/local all $ sudo make install prefix=/usr/local
通过Cygwin安装(不建议)
通过msysGit /p/msysgit 完成安装之后,就可以使用命令行的 git 工具(已经 自带了 ssh 客户端)了,另外还有一个图形界面的 Git 项目管理工具。 可视化工具TortoiseGit /p/ tortoisegit
相关文档
最新文档