Git操作手册

合集下载

Git使用教程

Git使用教程

Git使用教程原文出处:涂根华的博客一:Git是什么?Git是目前世界上最先进的分布式版本控制系统。

二:SVN与Git的最主要的区别?SVN是集中式版本控制系统,版本库是集中放在中央服务器的,而干活的时候,用的都是自己的电脑,所以首先要从中央服务器哪里得到最新的版本,然后干活,干完后,需要把自己做完的活推送到中央服务器。

集中式版本控制系统是必须联网才能工作,如果在局域网还可以,带宽够大,速度够快,如果在互联网下,如果网速慢的话,就纳闷了。

Git是分布式版本控制系统,那么它就没有中央服务器的,每个人的电脑就是一个完整的版本库,这样,工作的时候就不需要联网了,因为版本都是在自己的电脑上。

既然每个人的电脑都有一个完整的版本库,那多个人如何协作呢?比如说自己在电脑上改了文件A,其他人也在电脑上改了文件A,这时,你们两之间只需把各自的修改推送给对方,就可以互相看到对方的修改了。

三:在windows上如何安装Git?msysgit是 windows版的Git,如下:需要从网上下载一个,然后进行默认安装即可。

安装完成后,在开始菜单里面找到“Git –> Git Bash”,如下:会弹出一个类似的命令窗口的东西,就说明Git安装成功。

如下:安装完成后,还需要最后一步设置,在命令行输入如下:因为Git是分布式版本控制系统,所以需要填写用户名和邮箱作为一个标识。

注意:git config –global 参数,有了这个参数,表示你这台机器上所有的Git 仓库都会使用这个配置,当然你也可以对某个仓库指定的不同的用户名和邮箱。

四:如何操作?一:创建版本库。

什么是版本库?版本库又名仓库,英文名repository,你可以简单的理解一个目录,这个目录里面的所有文件都可以被Git管理起来,每个文件的修改,删除,Git都能跟踪,以便任何时刻都可以追踪历史,或者在将来某个时刻还可以将文件”还原”。

所以创建一个版本库也非常简单,如下我是D盘–> www下目录下新建一个testgit版本库。

gitee操作手册

gitee操作手册

以下是Gitee平台的基本操作手册:1. 注册账号:首先,你需要在Gitee的官网上注册一个账号。

点击右上角的“注册”按钮,填写必要的信息并完成注册。

如果你已经有了GitHub账号,也可以直接使用GitHub账号登录Gitee。

2. 完善个人信息:注册后,你可以完善个人信息,包括头像、简介、技能等。

这些信息能帮助其他人更好地了解你。

3. 创建项目:登录后,点击页面右上角的“+”号,选择“新建仓库”,填写项目信息并创建。

你可以选择用Git或者SVN来管理代码。

在创建仓库时,你可以选择添加README文件、.gitignore文件等。

4. 上传代码:在项目页面中,点击“上传文件”按钮,选择本地代码文件,上传到仓库中。

你可以选择创建分支、合并请求等操作。

如果你想要从GitHub迁移代码到Gitee,可以使用Gitee提供的导入工具。

5. 协作开发:Gitee支持多人协作开发。

你可以邀请其他人参与你的项目,共同开发和维护代码。

6. 全局配置:如果你想让你的提交信息中显示你的名字和邮箱,你需要进行全局配置。

使用以下命令:git config --global "你的名字或昵称",git config --global user.email "你的邮箱"。

7. 初始化git和链接到码云:在你的本地文件夹中,你需要初始化git并链接到码云。

使用以下命令:git init,git remote add origin +(前面我们复制的地址)。

以上是关于Gitee的基本操作手册。

如果遇到问题或困难,建议查看Gitee的帮助文档或联系客服支持。

GIT版本库操作手册及管理规范

GIT版本库操作手册及管理规范

GIT版本库操作手册及管理规范FESCO Adecco公司内部自建系统GIT代码版本库操作手册及管理规范版本<1.0>文档版本历史【目录】1概述 (4)1.1编写目的 (4)1.2适用范围 (4)1.3名词解释 (4)2GIT操作使用说明 (5)2.1GIT工具的安装及权限开放申请 (5)2.2GIT工具的使用 (6)2.2.1从GIT导入项目 (6)2.2.2创建分支 (11)2.2.3代码提交 (12)2.2.4版本切换 (14)2.2.5代码同步 (14)2.2.6其他 (15)3GIT版本库管理规范 (15)4GIT版本结构图 (17)5GIT代码管理执行流程图 (18)1概述1.1 编写目的本文主要用于对公司内部自主研发的系统进行代码的版本管理,同时指导公司内部开发人员使用GIT工具进行统一的管理规范。

本文所形成的规范将作为IT部门开发的标准流程进行管控,不定时的进行线上环境的抽查,各项目架构师也应当以此文进行严格的版本管理及执行监督。

1.2 适用范围所有公司内部自主研发的项目。

1.3 名词解释UAT环境:用于用户做验收时进行测试的环境,其中数据均为线上生产数据的备份,在未约定与用户进行验收测试的情况下,不对业务部门开放。

测试环境:包含所有开发代码的环境,用于提供用户进行培训、演示等用途的临时环境,数据为加密及改版过的测试数据。

PRO分支:用于执行ANT脚本进行自动发布的GIT环境,此处的代码必须与生产环境完全保持一致。

UAT分支:用于保证系统的完整性,与PRO分支除数据库配置文件不同外,必须完全一致。

GIT分支:由开发工程师根据需求所建的分支,由开发工程师从本地GIT 资源库推送至公司统一的GIT版本资源库。

测试分支:由项目组自行定义的分支,用于管理测试环境的代码版本库,可根据业务部门的用户需求自行合并GIT分支进行打包整合,以提供给BU部门稳定的可用的测试环境。

2GIT操作使用说明2.1 GIT工具的安装及权限开放申请1.GTI插件在ECLIPSE软件的安装及引用:官网下载当前最新版的GIT插件,并放置于ECLIPSE项目插件结构下,ECLIPSE工具安装插件方法可参照官网上相应的教程:/egit/updates/2.配置SSH登陆口令:ECLIPSE程序中,Window->Preferences->输入SSH进行配置定位查询。

gitlab16版本用户操作手册

gitlab16版本用户操作手册

一、概述GitLab是一个基于Git的开源代码托管评台,它提供了一整套用于管理和协作开发的工具。

该评台有众多版本,其中16版本作为GitLab 的一个重要更新版本,为用户提供了更多的功能和优化。

二、安装与配置1. 安装GitLab-16版本用户首先需要根据自己的操作系统版本选择相应的安装方式,比如在Linux下可以通过包管理器安装,而在Windows下可以下载安装包进行安装。

安装完成后,还需要进行一些基本的配置。

2. 配置基本信息对于新安装的GitLab-16版本,用户需要创建管理员账号、配置电流信箱、设置域名等基本信息,以便后续的使用。

三、使用指南1. 仓库管理GitLab-16版本提供了更加方便快捷的仓库管理功能,用户可以方便地创建新仓库、管理分支、合并代码等。

2. Issue跟踪在16版本中,Issue跟踪功能进行了一些优化和改进,用户可以更加方便地创建Issue、分配任务、追踪进度等。

3. CI/CD集成持续集成和持续交付是现代开发中的重要环节,GitLab-16版本进一步完善了CI/CD功能,用户可以更加方便地管理自动化构建、测试和部署流程。

4. 安全与合规在16版本中,安全与合规方面的功能也有所增加,用户可以更加方便地进行代码审查、安全扫描、访问控制等操作。

四、高级功能介绍1. 高级权限管理对于需要更加细粒度权限控制的用户,GitLab-16版本提供了更加丰富的权限管理功能,用户可以精细地控制每个项目的访问权限。

2. 高级集成除了基本的版本控制、Issue跟踪、CI/CD等功能外,GitLab-16版本还提供了更加丰富的集成功能,比如与JIRA、Slack、Kubernetes等工具的集成。

3. 大规模团队协作对于大规模团队协作来说,GitLab-16版本提供了更加可靠和稳定的解决方案,包括性能优化、分布式架构等方面的改进。

五、常见问题解决1. 性能问题如果在使用过程中遇到性能问题,用户需要检查系统配置、网络环境等方面,也可以通过GitLab冠方文档中的优化建议进行改进。

GIT使用入门详细教程

GIT使用入门详细教程

GIT使用入门Part 1第一章基本原理git是一个版本控制系统。

官方的解释是:版本控制(Revision control)是一种软件工程技巧,籍以在开发的过程中,确保由不同人所编辑的同一档案都得到更新。

按我的白话文解释就是:一群志同道合的人身处祖国各地,希望来合作开发一个项目,假设这个项目是使用c语言写的(当然用任何语言都可以的)。

那么大家怎么合作呢?用信件?效率太低。

用邮件,不好实现多人沟通。

用googlegroup吧,可开发阶段中的源代码没法科学管理。

用自建的网站吧,需要人力物力财力来支撑阿。

这个时候版本控制系统就派上用场了。

它可以让一个团队里的不同的人在不同地点、不同时间开发和改进同一个项目,并且在大部分的时间里,版本控制系统会聪明的帮你把不同的人在不同地点不同时间修改的代码融合到项目中去。

(当然在一些特殊的情况,还是需要人去决定到底哪些代码需要加入到项目中,这个在后面讨论不迟,先让大家对版本控制有一个好印象,呵呵)知道了版本控制系统的优点之后,下面就要具体实践和体验了。

建议你选用的版本控制系统包括:rcs,cvs,svn,git,Mercurial,Bazzar等等。

当然git,Mercurial和Bazzar都是属于分布式版本控制系统。

下面是一些网友对于这些版本控制系统评论的只言片语:1)svk配合svn可以实现分布式的版本控制。

2) 我是从SVN转到Git下的。

我想Git的优势是速度飞快,谁用谁知道!3) git的确是最快的,bzr慢的要死4) SVN 在windows 下有TortoiseSVN5) git 有Windows 版本,在google code 上的项目。

/p/msysgit/6) 大家可以试试国内提供的git服务。

那么,简单地说,Git 究竟是怎样的一个系统呢?请注意,接下来的内容非常重要,若是理解了Git 的思想和基本的工作原理,用起来就会知其所以然,游刃有余。

在开始学习Git 的时候,请不要尝试把各种概念和其他的版本控制系统诸如Subversion 和Perforce 等相比拟,否则容易混淆每个操作的实际意义。

Git基本操作流程

Git基本操作流程

Git基本操作流程技术背景Gitee是⼀款国内的git托管服务,对于国内⽤户较为友好,⽤户可以访问来创建⾃⼰的帐号和项⽬,并托管在Gitee平台上。

既然是git的托管服务,那我们就可以先看看git的⼀些基本⽤法:[dechin@dechin-manjaro ~]$ git --help⽤法:git [--version] [--help] [-C <路径>] [-c <名称>=<取值>][--exec-path[=<路径>]] [--html-path] [--man-path] [--info-path][-p | --paginate | -P | --no-pager] [--no-replace-objects] [--bare][--git-dir=<路径>] [--work-tree=<路径>] [--namespace=<名称>]<命令> [<参数>]这些是各种场合常见的 Git 命令:开始⼀个⼯作区(参见:git help tutorial)clone 克隆仓库到⼀个新⽬录init 创建⼀个空的 Git 仓库或重新初始化⼀个已存在的仓库在当前变更上⼯作(参见:git help everyday)add 添加⽂件内容⾄索引mv 移动或重命名⼀个⽂件、⽬录或符号链接restore 恢复⼯作区⽂件rm 从⼯作区和索引中删除⽂件sparse-checkout 初始化及修改稀疏检出检查历史和状态(参见:git help revisions)bisect 通过⼆分查找定位引⼊ bug 的提交diff 显⽰提交之间、提交和⼯作区之间等的差异grep 输出和模式匹配的⾏log 显⽰提交⽇志show 显⽰各种类型的对象status 显⽰⼯作区状态扩展、标记和调校您的历史记录branch 列出、创建或删除分⽀commit 记录变更到仓库merge 合并两个或更多开发历史rebase 在另⼀个分⽀上重新应⽤提交reset 重置当前 HEAD 到指定状态switch 切换分⽀tag 创建、列出、删除或校验⼀个 GPG 签名的标签对象协同(参见:git help workflows)fetch 从另外⼀个仓库下载对象和引⽤pull 获取并整合另外的仓库或⼀个本地分⽀push 更新远程引⽤和相关的对象命令 'git help -a' 和 'git help -g' 显⽰可⽤的⼦命令和⼀些概念帮助。

GIT版本库操作手册及管理规范

GIT版本库操作手册及管理规范

FESCO Adecco公司内部自建系统GIT代码版本库操作手册及管理规范版本<1.0>文档版本历史1.1刘传宏2016-02-16修正文档中对各版本库的定义及概念【目录】1概述 (4)1.1编写目的 (4)1.2适用范围 (4)1.3名词解释 (4)2GIT操作使用说明 (5)2.1GIT工具的安装及权限开放申请 (5)2.2GIT工具的使用 (6)2.2.1从GIT导入项目 (6)2.2.2创建分支 (11)2.2.3代码提交 (12)2.2.4版本切换 (14)2.2.5代码同步 (14)2.2.6其他 (15)3GIT版本库管理规范 (15)4GIT版本结构图 (17)5GIT代码管理执行流程图 (18)1概述1.1 编写目的本文主要用于对公司内部自主研发的系统进行代码的版本管理,同时指导公司内部开发人员使用GIT工具进行统一的管理规范。

本文所形成的规范将作为IT部门开发的标准流程进行管控,不定时的进行线上环境的抽查,各项目架构师也应当以此文进行严格的版本管理及执行监督。

1.2 适用范围所有公司内部自主研发的项目。

1.3 名词解释UAT环境:用于用户做验收时进行测试的环境,其中数据均为线上生产数据的备份,在未约定与用户进行验收测试的情况下,不对业务部门开放。

测试环境:包含所有开发代码的环境,用于提供用户进行培训、演示等用途的临时环境,数据为加密及改版过的测试数据。

PRO分支:用于执行ANT脚本进行自动发布的GIT环境,此处的代码必须与生产环境完全保持一致。

UAT分支:用于保证系统的完整性,与PRO分支除数据库配置文件不同外,必须完全一致。

GIT分支:由开发工程师根据需求所建的分支,由开发工程师从本地GIT 资源库推送至公司统一的GIT版本资源库。

测试分支:由项目组自行定义的分支,用于管理测试环境的代码版本库,可根据业务部门的用户需求自行合并GIT分支进行打包整合,以提供给BU部门稳定的可用的测试环境。

git使用攻略

git使用攻略

最近在网上看到有一帖,不错,我就copy下来了,非常感谢那位作者,写的非常详细,在这里分享给大家eclipse插件egit安装使用网络上的介绍一堆堆的,但是自己尝试了下,发现问题很多,就动手做个教程。

大纲1.git客户端安装2.ssh配置3.egit安装配置4.参考资料Ps:为了增加乐趣,文章并没有按照大纲来描述,如果您急着搭建egit,请尽量按大纲顺序来配置,可以少走弯路1.egit的安装当然也可以选择在Eclipse Marketplace中搜索有经验的朋友肯定会想到是不是可以通过Link的方式来实现插件安装,好像这个真没有还有一个要说明的是如果使用:/egit/updates.来安装,则要保证您的eclipse版本是最新的,否则会安装失败低版本Eclipse安装EGit插件本人的Eclipse是3.6版本的,正好不能使用上述方式,处理方法如下打开/EGit/FAQ#Where_can_I_find_older_releases_of_EGit.3F选择/egit/updates-1.3(因为这个版本的发布时间跟Eclipse3.6发布时间相近,其他版本同理试试)Next到底就OK了。

二、配置EGit这里有个前提,就是首先电脑上必须安装有git的客户端安装地址:/p/msysgit/downloads/list?q=full+installer+official+git 安装之后,打开Eclipse选择git客户端的安装路径,接着在Configuration中配置user Settings的user和email 这个用户名必须是github的用户,还没注册的,点击这里申请https:///到此,插件的配置结束非常激动的开始创建一个DEMO试试File > Team > Share Project 选择GIT这里选中Git的时候,会提示设置HOME环境变量HOM-->%USERPROFILE%接着就创建一个仓库三、上传工程首先需要登录github 创建一个空的仓库点击Create a new repository因为我已经创建过一个GitDemo,就不再演示点击上传提示exception caught during execution of ls-remote command发现是没有私钥。

git 的常见操作

git 的常见操作

git 的常见操作
以下是git的常见操作:
1. 初始化仓库:使用`git init`命令在当前目录创建一个新的git
仓库。

2. 克隆仓库:使用`git clone`命令克隆一个远程仓库到本地。

3. 添加文件:使用`git add`命令将文件添加到暂存区。

4. 提交更改:使用`git commit`命令将暂存区的更改提交到本
地仓库。

5. 查看仓库状态:使用`git status`命令查看仓库中文件的状态。

6. 查看提交历史:使用`git log`命令查看仓库的提交历史。

7. 创建分支:使用`git branch`命令创建一个新的分支。

8. 切换分支:使用`git checkout`命令切换到另一个分支。

9. 合并分支:使用`git merge`命令将一个分支的更改合并到当
前分支。

10. 拉取远程更新:使用`git pull`命令从远程仓库拉取最新的
更新。

11. 推送更新:使用`git push`命令将本地仓库的更新推送到远
程仓库。

12. 忽略文件:使用`.gitignore`文件来指定要忽略的文件和目录。

13. 撤销更改:使用`git revert`或`git reset`命令撤销之前的提交
或更改。

14. 重置HEAD指针:使用`git reset`命令将HEAD指针移动到
另一个提交。

15. 标签管理:使用`git tag`命令创建、列出和删除标签。

这只是git的一小部分常见操作,git还有很多其他功能和命令可供使用。

git 使用方法

git 使用方法

git 使用方法
Git是一款分布式版本控制系统,可以用于数据的同步和版本管理。

下面我们以谷歌GitHub为例,介绍如何使用Git:
一、配置Git帐号
1. 登录GitHub
2. 点击右上角的settings,进入GitHub个人信息管理页面
3. 在左侧菜单栏点击SSH and GPG keys,点击右上角”New SSH Key“
4. 在Title输入”Git_Local“,再将本地生成的SSH Key内容复制进去,点击”Add SSH Key“
二、使用Git创建项目
1. 进入要保存项目的文件夹,点击右键打开Git Bash Here
2. git init (创建一个新的本地Git仓库)
3. git status (查看本地Git仓库的状态)
4. git add. (添加当前目录下所有文件到本地Git仓库)
5. git commit -m "xxx" (提交文件到本地Git仓库)
6. git push origin master (把本地Git仓库的commit提交到GitHub)。

TortoiseGit用户手册

TortoiseGit用户手册

TortoiseGit用户手册1.创建本地仓库选中本地文件夹右键—>Git在这里创建版本库;只在根目录出现一个名为.git的库管理文件夹。

建好本地仓库后,需把仓库名发给管理员,管理员配置好远端及权限后,才可推送。

2.克隆远程的版本库在本地目录右键—>Git克隆,输入远程仓库地址和本地副本目录3.添加文件及文件夹在文件夹中右键,选择"Git提交(C)",在提交窗口中选择所有需要提交的文件夹及文件并输入有效的注释。

add添加到暂存区,commit提交到本地仓库,push推送到远端。

push是将本地仓库的元素推送到远端,暂存区和未受版本控制的不可被推送。

4.比较版本差异选中需要查看提交记录的文件或文件夹,右键Git—>显示日志—>选择需要比较差异的两个版本,右键“比较版本差异”。

(注意是比较已提交到本地仓库的版本差异,Git的比较差异菜单是比较工作副本和本地仓库的差异)5.使用分支5.1分支策略主分支master:用于发布版本开发分支develop:日常开发分支需要合并到master分支临时性分支:功能分支feature、预发布分支release、修复bug分支fixbug.功能分支从develop中分支出来,开发完成后再合并入develop后即可删除,名字采用feature-* 的形式命名。

预发布分支在正式颁布前,需要一个预发布的版本测试。

从develop中分支出来,用完后合并到develop分支和master分支。

fixbug分支从master拉出,完成后合并到master并同步到develop分支。

5.2 分支创建选中需要创建分支的项目,右键—>tortoiseGit—>创建分支。

在弹出的窗口输入分支名,并选择合适的基准分支:切换分支:选中工作副本,右键—>tortoiseGit—>切换/检出(W)。

5.3分支合并(git的分支和主分支只是名称上的区别,合并都是一样的)先切换到合并到的分支,选中工作副本,右键—>tortoiseGit—>合并。

gitextensions的使用手册

gitextensions的使用手册

gitextensions的使用手册GitExtensions是一个图形化的Git客户端工具,它提供了方便的界面和功能,使得Git版本控制系统更加易于使用和管理。

本手册将介绍GitExtensions的安装、配置和常用功能的使用。

一、安装GitExtensions1. 下载GitExtensions安装程序:在官网(https://gitextensions.github.io/)的下载页面上选择适合您操作系统的版本,并下载安装程序。

2. 运行安装程序:双击下载的安装程序,按照提示进行安装。

您可以选择安装路径和其他选项,也可以使用默认设置。

二、配置GitExtensions1. 配置Git路径:安装完成后,打开GitExtensions。

在主菜单中选择“Settings”(设置),然后选择“Git”选项卡。

在“Git.exe Path”(Git执行文件路径)文本框中输入您的Git安装路径,点击“OK”保存设置。

2. 配置默认文本编辑器:在“Settings”菜单中选择“General”(常规)选项卡。

在“Text Editor”(文本编辑器)部分,选择您常用的文本编辑器,并输入其可执行文件路径。

点击“OK”保存设置。

三、创建Git仓库1. 克隆远程仓库:点击主界面上的“Clone”按钮,在弹出的对话框中输入远程仓库的URL,并选择克隆到的本地目录。

点击“Clone”开始克隆操作。

2. 初始化本地仓库:如果您已经有一个本地目录,您可以打开该目录,然后选择“Repository”(仓库)菜单中的“Initialize”(初始化)选项来初始化本地仓库。

四、提交和推送变更1. 提交变更:当您对代码进行了修改后,可以在GitExtensions中查看已修改的文件。

在“Changes”(变更)窗格中,选择要提交的文件,填写提交信息,并点击“Commit”按钮进行提交。

2. 推送变更:如果您已经进行了一次或多次提交,并且想要将这些变更推送到远程仓库,可以点击工具栏上的“Push”按钮。

ideal git 分支使用手册

ideal git 分支使用手册

Ideal Git 分支使用手册在日常的软件开发过程中,代码版本管理是一个至关重要的环节。

Git 作为当前最流行的分布式版本控制系统,广泛应用于各种开发项目中。

在Git 中,分支是一个非常关键的概念,它可以帮助团队高效地协作,管理代码变更,并保持项目的稳定性。

本篇文章将重点讨论如何理想地使用 Git 分支,以达到高质量、深度和广度兼具的代码管理。

1. 理解 Git 分支的基本概念在开始深入讨论之前,我们先来回顾一下 Git 分支的基本概念。

在 Git 中,每个分支实际上都是一个指向提交对象mit)的可变指针。

当我们在创建、切换、合并或删除分支时,实际上操作的是这些指针,而不是实际的代码。

这种设计使得分支操作非常轻量和高效,同时也非常灵活。

2. 分支的创建和管理在实际的开发过程中,我们经常需要创建新的分支来处理不同的任务,比如修复 bug、开发新功能、进行实验等。

在创建分支时,我们可以使用 `git branch` 命令来创建一个新的分支,并使用 `git checkout`或 `git switch` 命令来切换到不同的分支上进行工作。

另外,我们还可以使用 `git merge` 命令将不同的分支合并到一起,以及使用 `gitrebase` 命令对提交对象进行重写和整理。

3. 分支的最佳实践在实际的项目中,我们需要遵循一些最佳实践来理想地使用Git 分支,以确保代码管理的高效和稳定。

在使用分支时,我们应该避免创建过多的临时性分支,以免造成混乱和不必要的合并。

我们应该及时地删除已经合并的分支,以保持仓库的清洁和整洁。

我们还应该遵循团队协作的规范,比如在命名分支时采用统一的命名规范,方便团队成员理解和识别不同的分支。

4. 个人观点和理解在我个人看来,理想的 Git 分支使用手册应该注重清晰的分支管理策略、合理的分支操作流程以及良好的团队协作规范。

只有在保持分支的整洁和清晰的前提下,我们才能充分发挥分支的优势,高效地开展团队协作,提高软件开发的效率和质量。

git基础操作命令

git基础操作命令

1. git pull 更新服务器代码到本地a). git pull origin master是将origin这个版本库的代码更新到本地的master主分支2. git push 将本地代码提交到服务器3. git log 查看提交信息a). git log -p 查看历次的log信息及更改情况b). git log -p -4 查看距现在最近的4次的log信息及更改情况c). git log frameworks/ 查看关于frameworks/目录修改相关的log信息d). git log --stat 查看log显示文件修改情况e). git log --stat packages/apps/Contacts/ 查看关于packages/apps/Contacts/目录修改相关的log显示的文件修改情况4. git status查看工作目录和代码仓库的改动情况,这个比较重要,可以查看你自己代码哪些需要上传,然后再去add commit5. git diff 查看工作目录和本地仓库的差异或者本地仓库各个版本的差异a). git diff packages/apps/Contacts/AndoridManifest.xml 查看工作目录中AndoridManifest.xml和本地仓库中AndoridManifest.xml的不同b). git diff b46cae3b9a377bcd9cfc249a5778fce647feb961dc94bf29aab18168e79d6496a89e47dba7a1d494 查看这两个版本的不同(git diff history_oldhistory_current)c)git diff84d7c8bf6fde87316f693015d4a541a1adf037b3 b39cf58eea2f7733723ad90d104b83774136efa8 pa ckages/apps/Phone/src/com/android/phone/CallCard.java 查看两个版本之间针对特写文件的变化6. git commit 提交当前修改内容a). git commit file1 file2 -m "log message" 提交file1,file2到本地仓库b). git commit -a -m "log message" 提交所有在Git索引中的改动,所以事先先用git status,看自己代码和服务器的对比有哪些改动,最好不用-a7. git add 增加文件到Git索引a). git add file3 file4将file3,file4加入到Git索引中8. git rm 从Git索引移除文件a). git rm file3 将file3从Git索引中删除9. git branch 对分支的增、删、查操作a). git branch 显示所有本地分支b). git branch new_branch 在当前版本创建一个名为new_branch的分支c). git branch -D new_branch 强制删除名为new_branch的分支10. git checkout 在不同的branch切换和还原文件a). git checkout branch1 切换到branch1分支b). git checkout /packages/apps/Contacts/AndroidManifest.xml 会将AndroidManifest.xml文件从上一次提交的版本更新回来,未提交的部分会全部回滚11. git reset 将当前的工作目录完全回滚到指定的版本号a). git reset [--fixed] 3204f2f0bdfd6ada86c587b8927cdc5a15c586c1 只更新索引,不更新工作目录,也就是说所有的本地文件都不会更新b). git reset [--soft] 3204f2f0bdfd6ada86c587b8927cdc5a15c586c1c). git reset [--hard] 3204f2f0bdfd6ada86c587b8927cdc5a15c586c1 强制回滚到指定版本号,未提交的和此版本之后的更改全部删掉12. git mergea). git merge branch1 将branch1的改动合并到当前所在分支13. git patcha). git format-patch -1 打一个当前提交的补丁,也就是最后一次的提交改动b). git fromat-patch -1 6525c43add803bfee37cf5c1cb573ed8aecf529e 打一个指定具体某一次的补丁c). git format-patch -2 6525c43add803bfee37cf5c1cb573ed8aecf529e 打基于指定具体某个版本的接连两次的补丁15.git reset HEAD^表示回退刚刚的提交, git reset HEAD^^ 表示回退刚两次的提交,以此类推, 补充一下16.git format-patch -1 打印刚刚提交的一版的patch,相当于svn diff17.git show 查看当前提交的版本18.git show ffd98b291e0caa6c33575c1ef465eae661ce40c9 查看指定版本的文件19.git show ffd98b291e0caa6c33575c1ef465eae661ce40c9:filename 查看指定版本的某个文件20.git show 2010-Aug-12 查看指定tag的文件21.git remote show 查看远程仓库的信息22.git remote show origin 查看某个远程仓库的详细信息,比如要看所克隆的origin仓库23.git revert -n hashcode : git撤销某次历史提交; -n 不加的话,相当于撤销后的树状态也提交了,加了-n只是工作树回退了那次提交的内容,工作树处于待提交状态24.git show 9f5202b77bdd33f885207b618b7b2a78b6671813packages/apps/FM/src/com/hymost/fm/ui/FMRadio.java 查看特定版本特定文件的修改25.git diff 6af41d3 d67778 packages/apps/Music/>2.patch这个非常有用, 6af41d3 比d67778 新, 上句这样做的好处是可以产生从6af41d3 到d67778的反向diff ,把这个反向diff 写入2.patch,这样谁打了2.patch,谁就等于作了一次6af41d3 版本在对packages/apps/Music上所做修改的文本回退(如果该版本对这个目录的改动是有错的需要回退的,这是个好办法).回退,千万少用revert和reset ,这两个动作和危险,容易导致结点丢失.Changes to be committed:# (use "git reset HEAD <file>..." to unstage) //reset 加--soft 会保持文件的stage状态,(to be committed,这往往是被撤消的提交中的文件,stage中的文件的修改是diff不出来的), 如果不加(默认:mixed)就会把所有mark to be committed的文件全unstage掉,这时可以diff出来该文件的改动了## modified: packages/apps/Contacts/src/com/android/contacts/ContactsUtils.java //不会被diff出来, ## Changed but not updated: //会被diff出来# (use "git add <file>..." to update what will be committed)# (use "git checkout -- <file>..." to discard changes in working directory)## modified: frameworks/base/core/java/com/android/internal/app/RingtonePickerActivity.java# modified: frameworks/base/media/java/android/media/RingtoneManager.java## Untracked files: //不会参与版本管理,除非用git add进来# (use "git add <file>..." to include in what will be committed)补充一下: reset --hard hashcode就是相当于check out 掉所以从此hashcode之后的所有本地修改了,很危险,慎用.revert hashcode1相当于reset --hard, 不过它的指针不回退,反而是在当前HEAD之上再加一个版本,而该版本在文本上相当于hashcode1之前一个版本的文本内容,但这时候指针都没丢,反而还多了一个,这时候想回过来有办法,就是reset --hard 到HEAD^就行了,一切都回来了,等于什么也没做过.不过尽量不要用revert. 这已经是一个deprecated 命令了.其实对于像1->2->3->4->5,这样的版本链上,如果2->3东西有问题,想回掉这部分修改,却不影响3后面的修改,最好的办法就是不要通过指针来实现,而是通过本文修改来实现新增一个6版本,盖在5之上,我们只要把2->3的patch拿过来,在当前5的基础上,打个反向patch就行: git apply -R 2to3.patch, 这时你的本地代码从文本上就达到了你要想的结果,就是5的状态下把2->3的修改抹掉. 不过打patch有一点要注意,我们尽量不要把png等图片的patch放里头,这样会很慢,图片的二进制码很大. 而且我们可以对patch 进行修改,回退我们想要回退的文件和修改.26. 问题:1->2->3->4->5(本地和服务器上都是这个状态)如果你想把package/app/Contacts从5这个结点的内容恢复到2这个结点,但又想让HEAD指针保持在5上,怎么做?(1)首先,git checkout 78350ad27ed3ad070bc0b5044ec594e70800aded(结点2的hashcode) packages/apps/Contacts/此时,你git log 看到的最新的commit结点会是:commit ba5ca90406bd6aaba3c54c46e9d143829b6a52fb-----结点6Merge branch 'master' of 192.168.10.104:repositories/7x27a-2045这句话到底做了件什么事呢,首先它把packages/apps/Contacts/的内容恢复到2这个结点的状态,然后并最新的内容修改(即恢复后的)做为一个新的结点6来在5的后面提交一个新的结点,所以现在情况变成了:1->2->3->4->5->6(2)但是我们又不想增加新结点,怎么办呢,很简单,只要软reset一下就行,也就是:git reset 5点的hashcode,这样子你再用git diff 就会发现相当于你把package/app/Contacts下面的内容都手动准确地改到了2结点的状态,指针链还是保持在原来的1->2->3->4->5。

gitpush详细手册

gitpush详细手册

gitpush详细⼿册git-push(1)⼿册页⽬录位置:git安装位置/Git/mingw64/share/doc/git-doc/git-push.html ⾕歌翻译了⼀下名称git-push-更新远程引⽤以及相关对象概要git push [--all | --mirror | --tags] [--follow-tags] [--atomic] [-n | --dry-run] [--receive-pack=<git-receive-pack>][--repo=<repository>] [-f | --force] [-d | --delete] [--prune] [-v | --verbose][-u | --set-upstream] [--push-option=<string>][--[no-]signed|--signed=(true|false|if-asked)][--force-with-lease[=<refname>[:<expect>]]][--no-verify] [<repository> [<refspec>…]]描述使⽤本地引⽤更新远程引⽤,同时发送完成给定引⽤所需的对象。

每次通过建⽴ hooks ,向存仓库推送代码时,都可以使它发⽣有趣的事情。

请参阅(1)的⽂档。

当命令⾏未使⽤<repository>参数指定将信息推送到何处时,将参考当前分⽀的 branch.*.remote 配置来确定将信息推送到何处。

如果缺少配置,则默认为origin。

当在命令⾏中没有使⽤<refspec>参数或--all,--mirror,--tags选项来指定推送内容,该命令将通过参照 remote.*.push 配置来查找默认的<refspec>,如果没有找到它,push.default配置决定推送内容(见为(1)中 push.default 的含义)。

Git使用详细教程

Git使用详细教程

Git使用详细教程Git是一个分布式版本控制系统,用于跟踪文件的变化并协同开发。

本文将为您提供Git的详细使用教程,以帮助您快速上手Git。

一、安装Git二、设置Git```git config --global "Your Name"```这些信息将用于标识您在Git上的操作。

三、创建仓库在使用Git之前,您需要创建一个仓库来存储您的代码。

在终端或命令行界面中,进入您希望创建仓库的目录,并执行以下命令:```git init```这将在当前目录创建一个新的Git仓库。

四、添加文件在仓库中,您需要将文件添加到Git跟踪之下。

在终端或命令行界面中,执行以下命令来添加文件:git add <file>```您可以使用通配符来添加多个文件。

五、提交更改当您对文件进行了修改后,您需要将这些更改提交到Git仓库。

在终端或命令行界面中,执行以下命令来提交更改:``````在提交时,您需要提供一条简短的提交信息,用于描述您的更改。

六、查看历史记录您可以使用以下命令来查看仓库的历史记录:```git log```这将显示提交的历史记录,包括提交者、提交时间和提交信息。

七、创建分支分支是Git的一个重要概念,它允许您在代码的不同版本之间进行切换和并行开发。

在终端或命令行界面中,执行以下命令来创建一个新的分支:git branch <branch-name>```其中,`<branch-name>`是您希望创建的分支名称。

八、切换分支要切换到另一个分支,您可以使用以下命令:```git checkout <branch-name>```其中,`<branch-name>`是您希望切换到的分支名称。

九、合并分支当您完成了一些分支上的开发工作后,您可以将其合并到主分支或其他分支上。

在终端或命令行界面中,切换到目标分支,并执行以下命令来合并分支:```git merge <branch-name>```其中,`<branch-name>`是您希望合并的分支名称。

Git基本操作菜鸟教程

Git基本操作菜鸟教程

Git基本操作菜鸟教程Git 基本操作Git 的工作就是创建和保存你项目的快照及与之后的快照进行对比。

本章将对有关创建与提交你的项目快照的命令作介绍。

获取与创建项目命令git init用 git init 在目录中创建新的 Git 仓库。

你可以在任何时候、任何目录中这么做,完全是本地化的。

在目录中执行 git init,就可以创建一个 Git 仓库了。

比如我们创建 runoob 项目:$ mkdir runoob$ cd runoob/$ git initInitialized empty Git repository in /Users/tianqixin/www/runoob/.git/# 在/www/runoob/.git/ 目录初始化空 Git 仓库完毕。

现在你可以看到在你的项目中生成了 .git 这个子目录。

这就是你的 Git 仓库了,所有有关你的此项目的快照数据都存放在这里。

ls -a. .. .gitgit clone使用 git clone 拷贝一个 Git 仓库到本地,让自己能够查看该项目,或者进行修改。

如果你需要与他人合作一个项目,或者想要复制一个项目,看看代码,你就可以克隆那个项目。

执行命令:git clone [url][url] 为你想要复制的项目,就可以了。

例如我们克隆 Github 上的项目:$ git clone **************:schacon/simplegit.gitCloning into 'simplegit'...remote: Counting objects: 13, done.remote: Total 13 (delta 0), reused 0 (delta 0), pack-reused 13Receiving objects: 100% (13/13), done.Resolving deltas: 100% (2/2), done.Checkingconnectivity... done.克隆完成后,在当前目录下会生成一个 simplegit 目录:$ cd simplegit/$ lsREADME Rakefile lib上述操作将复制该项目的全部记录。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

图 1-2
2.
安装 MSysGit
运行 Git-1.8.1.2-preview20130201.exe,选择 Next,默认安装即可。
图 2-1
图 2-2 安装完成后,打开 Git Bash(安装 MSysGit 后,会生成桌面快捷方 式)。配置全局用户名和邮箱,执行下面两行命令。 git config --global yourname git config --global user.email youremail (注意:参数名与参数值之间不要使用“=”,空格即可。) 可通过下面两行命令查看配置 git config git config user.email
目录下生成私钥 id_rsa 及公钥 id_rsa.pub 两个文件。 (注意:不要修改文件名和存放路径)
图 4-1
4.2
公钥 id_rsa.pub 配置到服务器。 通过谷歌浏览器访问服务器网址(以http://20.10.129.77:8080/gitlab
为例,具体要使用对应服务器的网址)。 输入自己的用户名/密码登录(邮箱登录,默认密码 111111)。 进入右上角的 My Profile 界面。
Git 操作手册
密级: 保密 秘密 机密 绝密
文档编号:
拟制者 审核 批准
刘文 董建宇、谢东 谢东
2013-4-26
北京用友集团 UAP 中心 2013 年 4 月
目 录
1. 2. 3. 4. 相关安装文件及资料获取 ............................................................................................ 1 安装 MSYSGIT ............................................................................................................ 2 安装 TORTOISEGIT ................................................................................................... 3 SSH 公钥认证 ............................................................................................................... 5 4.1 4.2 5. 6. 创建自己的公钥/私钥对。 .................................................................................... 5 公钥 ID_RSA.PUB 配置到服务器。 ......................................................................... 6
6.
6.1
开发过程中常用操作简介(使用 TortoiseGit)
初化 git 项目 开发经理明确产品命名,产品内项目的分布,代码库的访问人员及各项目
的人员访问权限后,提供相关信息及各用户公钥给配置管理员,提出建库申 请。 配置管理员根据开发经理的申请,在代码服务器上创建 git 项目,配置访问 权限,并将对应的 SSH 链接反馈给开发经理,如: git@20.10.129.77:liuwend/test_demo.git(之后均以此为例)。 git 项目的初始化,可以从某个前期发布的金盘版本建立或从零开始建立初 始代码库。 6.1.1 基于空库初始化 git 项目 适用于对全新产品的开发,由零开始建立初始代码库。 首先通过 Clone 操作将新创建的 git 项目,由服务器克隆到本地。 Clone 操作(右键-Git Clone):
图 3-3 选择 SSH 客户端错误解决。
4.
SSH 公钥认证
用户通过 SSH 公钥认证,建立与服务器端的通信。
4.1
创建自己的公钥/私钥对。 打开 Git Bash(安装 MSysGit 后,会生成桌面快捷方式)。 输入: ssh-keygen -t rsa 其它输入回车略过。 会在用户主目录(C:\Documents and Settings\user_name)下的.ssh
开发过程中使用的 GIT 分支模型 ................................................................................ 6 开发过程中常用操作简介(使用 TORTOISEGIT) ................................................. 7 6.1 初化 GIT 项目 ......................................................................................................... 7 6.1.1 6.1.2
6.1.3 创建开发分支 develop branch .................................................................. 12 6.2 基于 DEVELOP 分支进行开发............................................................................... 13 6.3 基于特性分支(FEATURE BRANCH)进行开发 .................................................... 20 6.4 基于 RELEASE 分支进行补丁修复 ........................................................................ 22 6.5 建立发布分支....................................................................................................... 23 6.6 维护阶段(补丁分支) ............................................................................................ 24 7. 8. ECLIPSE 中使用 GIT ................................................................................................ 24 常见问题解决.............................................................................................................. 34 8.1 8.2 安装 TORTOISEGIT 时,CHOSSE SSH CLIENT 选择了第一项。 ........................... 34 其他问题 .............................................................................................................. 35
注意:选择 SSH 客户端时,要选第二项,OpenSSH,Git default SSH Client,其他默认安装。
图 3-1 安装完成后,右键-TortoiseGit-Settings,查看设置。 TortoiseGit 会自动检测到 MSysGit 的安装路径。
图 3-2 另外可选择对应的语言包,安装简体中文。
1.
相关安装文件及资料获取
编制本文件为了统一 UAP 研发中心的代码管理规则及工具;统一管访问
http://20.10.129.77:8080/gitlab/testteam/download/tree/master/GitLabSoftware (最好使用谷歌浏览器访问)。 使用下面的用户/密码登录:
图 1-1 登录后,即可下载对应的安装文件: msysGit: Git-1.8.1.2-preview20130201.exe
TortoiseGit:TortoiseGit-1.8.2.0-64bit.msi TortoiseGit-1.8.2.0-32bit.msi TortoiseGit 中文语言包: TortoiseGit-LanguagePack-1.8.2.0-64bit-zh_CN.msi TortoiseGit-LanguagePack-1.8.2.0-32bit-zh_CN.msi eclipse 插件:org.eclipse.egit.repository-2.3.1.201302201838-r.zip (适用于 3.7.* 以上版本的 eclipse,最新版 eclipse(Juno)中已包含 此插件,无需安装)。 参考文档:《Git_Community_Book_中文版》
master 与 develop 分支,分别代表 发布/开发中 两个状态。develop 是每日
构建的来源,当到了稳定的状态就可以合并到 master 上,也就是发布了新版 本。 此外,辅助性分支有特性分支(feature branch)、待发布分支(release branch)及补丁分支(hotfix branch)。特性分支由各开发创建,主要用来 实现新需求,从 develop 分支上分出,待开发完成后合并到 develop 分支 上。待发布分支在开发到一定的阶段进入固化状态时创建,从 develop 分支分 出,只做小的 bug 修复,达到理想状态后,把 release 分支合并到 master 分 支,也就是发版了, 且可以随时合并到 develop 分支上。补丁分支一般从 master 分支分出,主要用来修改已发布版本的 bug。相当于累积的通版补 丁,且必须合并回 develop 分支上。 各分支详细介绍以及在开发过程中使用到的分支模型可查看《配置管理规 范—基于 Git 代码管理iseGit
相关文档
最新文档