Git版本控制系统的使用方法

Git版本控制系统的使用方法
Git版本控制系统的使用方法

Git版本控制系统的使用方法

一、Git简介

Git是一个分布式版本控制系统,是用来追踪计算机文件的变化的工具,也是一个供多人使用的协同工具。每个人都可以拥有一个完整的版本库。分布式版本控制系统的几乎所有操作包括查看提交日志、提交、创建里程碑和分支、合并分支、回退等都可以直接在本地完成而不需要网络连接。

二、Git客户端的下载和安装

Git官方客户端为Git Bash,Git bash是以命令行的形式来操作的,另外本使用方法中可视化软件采用了sourcetree,Git bash和sourcetree的使用请自行选择,用户需先下载Git和sourcetree。

1.Git的下载和安装:

1) 官网地址:https://https://www.360docs.net/doc/3b14011292.html,/

进入Git官网,由于电脑是Windows系统,选择Downloads for Windows。

2) 右键以管理员身份运行下载的安装包。

3) 选择安装路径

4) 一直点击Next按钮,当出现下图情况时选择“Use Windows’default console

window”,然后点击“Next”

5) 继续点击“Next”,最后点击“Install”,等待安装完成。

6) 在开始菜单中打开Git CMD

在CMD中输入Git,出现Git的相关提示说明安装成功,如下图所示:

参考文档:https://www.360docs.net/doc/3b14011292.html,/s?id=1601036689157983619&wfr=spider&for=pc

2.Sourcetree下载和安装:

1)首先,下载windows版本的企业版sourceTree。直接进入官网

https://https://www.360docs.net/doc/3b14011292.html,/enterprise下载

2)进入下载保存sourceTree的目录,双击SourceTreeEnterpriseSetup_3.0.17.msi文件进行

安装

3)安装完成后会出现以下界面,这是需要注册Bitbucket账号,但是注册该账号需要连接

外网,所以无法进行,下面是跳过注册的方法。首先关掉下图中的界面

4)将%LocalAppData%\Atlassian\SourceTree输入到资源管理器中的地址栏,进入

sourcetree文件夹,如下图。

5)在该文件夹中新建一个.txt文件,在文件中输入以下内容并保存,然后将文件改名为

accounts.json(注意最后文件的类型是JSON文件):

[

{

"$id": "1",

"$type":"SourceTree.Api.Host.Identity.Model.IdentityAccount,SourceTree.Api.Host.Identity", "Authenticate": true,

"HostInstance": {

"$id": "2",

"$type":"SourceTree.Host.Atlassianaccount.AtlassianAccountInstance,

SourceTree.Host.AtlassianAccount",

"Host": {

"$id": "3",

"$type":"SourceTree.Host.Atlassianaccount.AtlassianAccountHost,SourceTree.Host.AtlassianAcco unt",

"Id": "atlassian account"

},

"BaseUrl": "https://https://www.360docs.net/doc/3b14011292.html,/"

},

"Credentials": {

"$id": "4",

"$type": "SourceTree.Model.BasicAuthCredentials, SourceTree.Api.Account",

"Username": "",

"Email": null

},

"IsDefault": false

}

]

6)找到sourcetree的安装目录,默认安装目录是在%programfiles(x86)%\Atlassian 目录,双

击SourceTree.exe打开sourcetree,这时可以发现已经跳过了注册,注册完成了。

7)点击下一步,按照下图一步一步来就可以完成安装了。

8)出现下图,就证明已经安装完成了。

参考文档:

https://https://www.360docs.net/doc/3b14011292.html,/p/dce21c4e88fc

三、Git bash的使用

一般来说,日常使用只要记住下图6个命令,就可以了。但是熟练使用,恐怕要记住60~100个命令。

几个专用名词的译名如下:

?Workspace:工作区

?Index / Stage:暂存区

?Repository:仓库区(或本地仓库)

?Remote:远程仓库

1.用户信息配置

下载之后打开Git bash是这个样子的,配置用户信息。如下图:

需要填写账号名和邮箱(账号用姓名的拼音,邮箱用真实邮箱):

git config --global https://www.360docs.net/doc/3b14011292.html, “Your Name”(注意前边是“- -global”,有两个横线)git config --global user.email “email@https://www.360docs.net/doc/3b14011292.html,”

2.创建版本库

在我的电脑中进入到你想建立本地仓库的文件夹,右键弹出选择Git Bash Here

要想将此文件夹设为本地仓库,只需输入命令git init,如下图:

在该文件夹中会自动创建一个.git的隐藏文件夹,这个目录是Git来跟踪管理版本库的。

命令小结:# 在当前目录新建一个Git代码库$ git init

3.添加文件到暂存区

首先将需要添加的文件放到版本库文件夹下,例如:我在该文件夹下创建了一个readme.txt文件,如需将该文件添加到暂存区,只需执行git add readme.txt

当添加了很多个文件时,一个一个文件来添加就显得很麻烦了,如需一次添加所有文件到暂存区,只需执行git add .

命令小结:

# 添加指定文件到暂存区$ git add [file1] [file2] ...

# 添加当前目录的所有文件到暂存区$ git add .

4.提交文件到仓库区

提交到暂存区后,还需通过执行commit命令提交到仓库区,才可以推送程仓库中。

如需将暂存区指定文件提交到仓库区,执行$ git commit [file1] [file2] ... -m “修改注释”。例子如下图:

如需将暂存区所有文件提交到仓库区,执行$ git commit -m “修改注释”。

命令小结:

# 提交暂存区到仓库区$ git commit -m “修改注释”

# 提交暂存区的指定文件到仓库区$ git commit [file1] [file2] ... -m “修改注释”

5.版本回退

在平时的工作中你会不断地对文件进行修改,然后不断提交修改到本地版本库中,在你每次commit的时候,Git都会“保存一个快照”。一旦你把文件该乱了,或者误删了文件,就可以从版本库中选择一个版本来进行恢复,然后就可以继续工作了。

为了恢复到指定的版本,首先我们需要知道该版本的版本号,然后根据这个版本号进行恢复。

1)查看历史记录,获取版本号

执行命令$ git log,即可显示最近到最远的提交日志,例子如下:

从图中红框内可以看到该版本库所有的提交日志,其中像34550f3…和db66c4696…就是对应提交的版本号(commit id)。

在版本34550f3…中创建了一个reset.txt文件并提交到了版本库中。

2)回退到指定版本

执行命令$ git reset --hard db66c46(其中版本号不需要输全,只需要输入前面几位能与其他版本号区别开就行),即可回退到该版本上

回退版本后,点开工作区可以发现reset.txt文件没有了,证明已经回退到db66c4696…版本了。如下图:

3)查询命令执行的历史记录

当你回退到过去版本的后,你后悔了,想恢复到之前最新的版本怎么办,这时执行命令$ git log是无法找到该版本号的。这时可以通过执行命令$ git reflog来查看你执行过什么命令,这样就能知道之前最新版本的版本号了。例子如下:

在图中红框内可以发现之前执行的命令,如红框内就记录了以前的最新版本的版本号了。有了这个版本号,就可以回到该版本了,执行命令$ git reset –hard 34550f3。这时再次打开工作区,你可以发现reset.txt文件又出现了,证明版本又回到了最新版本。

命令小结:

# 查看提交历史记录$ git log

# 查看执行命令的历史记录$ git reflog

# 回退到指定版本$ git reset –hard [commit-id]

6.分支管理

Git鼓励大量使用分支

1)分支的简介

每次提交,Git都把它们串成一条时间线,这条时间线就是一个分支。在Git里,有一条主分支,即master分支。HEAD严格来说不是指向提交,而是指向master,master才是指向提交的,所以,HEAD指向的就是当前分支。

一开始的时候,master分支是一条线,Git用master指向最新的提交,再用HEAD指向master,就能确定当前分支,以及当前分支的提交点,他们的关系如下图:

当创建新的分支,例如dev时,Git新建了一个指针叫dev,指向master相同的提交,再把HEAD指向dev,就表示当前分支在dev上,在dev上提交一次修改后,他们的关系就如下图:

2)分支的作用

假设你准备开发一个新功能,但是需要两周才能完成,第一周你写了50%的代码,如果立刻提交,由于代码还没写完,不完整的代码库会导致别人不能干活了。如果等代码全部写完再一次提交,又存在丢失每天进度的巨大风险。

现在有了分支,就不用怕了。你创建了一个属于你自己的分支,别人看不到,还继续在原来的分支上正常工作,而你在自己的分支上干活,想提交就提交,直到开发完毕后,再一次性合并到原来的分支上,这样,既安全,又不影响别人工作。

3)创建分支

通过执行命令$ git checkout -b [branch-name],即可创建一个新的分支并且切换到该分支上。例子如下:

4)切换分支

执行命令$ git checkout [branch-name],即可切换到指定的分支上。例子如下:

5)查看分支

执行命令$ git branch,即会列出所有的分支,*号会标记出当前所在的分支

6)合并分支

在dev分支下工作并commit修改后,如果想将dev分支和master分支合并到一起,需要先切换回master分支,然后通过执行命令$ git merge dev,即可将dev分支合并到master分支中了。git merge命令是将指定分支合并到当前分支。例子如下:

7)删除分支

当合并完成后,在dev分支上做的改动就已经合并到master分支上了,如果这时已经

不需要dev分支了,可以放心地把dev分支删除掉。执行命令$ git branch –d dev。

执行命令$ git branch 就可以看出dev分支已经被删除了。

命令小结:

# 查看分支$ git branch

# 创建分支$ git branch [branch-name]

# 切换分支$ git checkout [branch-name]

# 创建+切换分支$ git checkout –b [branch-name]

# 合并某分支到当前分支$ git merge [branch-name]

# 删除分支$ git branch –d [branch-name]

Git的分支是一个很强大的功能,可以说是Git的“必杀技特性”,由于篇幅问题,更详细的介绍以及远程分支管理请参阅该链接:

https://https://www.360docs.net/doc/3b14011292.html,/wiki/0013739516305929606dd183********c67b8067c8c017 b000/001375840038939c291467cc7c747b1810aab2fb8863508000

7.生成ssh keys

可以通过执行命令$ ssh-keygen -t rsa -C "邮箱地址"生成ssh keys, 然后连续按Enter 键三次,既可生成id_rsa和id_rsa.pub文件,该文件生成在C:\Users\Admin\.ssh目录下,其中需要复制id_rsa.pub文件中的内容到服务器上的用户中心的SSH Keys上。

当上传了公钥后,执行命令ssh -l -p 29418 ,如果没报错,

生成如下图就证明成功通过ssh连上了。

8.添加和连接一个远程仓库

多人协作中,需要有一个Git版本库服务器。可以通过执行$ git remote add origin URL来添加和连接到该远程仓库上,其中origin为远程仓库的代称,URL可使用个人账号登录到服务器上在对应的版本库中获取。例子如下图:

可以通过执行命令$ git remote –v来查看已经连接到什么远程仓库。

命令小结:

# 增加一个新的远程仓库,并命名$ git remote add origin URL

# 显示所有远程仓库$ git remote –v

Eclipse中git的基本使用

一、安装E G I T插件 二、使用EGIT前的配置 三、新建GIT仓库 四、配置.gitignore文件 五、查看历史记录 六、推送远程仓库 七、远程GIT仓库 八、解决推送冲突 九、重置功能 一、安装EGIT插件 现在的eclipse一般都自带了,如果没有,使用EclipseMarketplace,搜索EGit 二、使用EGIT前的配置 配置个人信息,最重要的是https://www.360docs.net/doc/3b14011292.html,和user.email Preferences>Team>Git>Configuration addEntry 三、新建GIT仓库 新建hh_monitor项目 File>Team>ShareProject选择GIT 创建仓库后,在$ProjectWorks\hh_monitor目录下的.git文件夹,就是git的仓库地址。 和CVS、SVN不同,GIT不会在每一个目录下建立版本控制文件夹,仅在根目录下建立仓库。 同时,eclipse中的project也建立git版本控制,此时未创建分支,处于NO-HEAD状态

文件夹中的符号””表示此文件夹处于untracked状态,这样就成功创建GIT 仓库。 四、配置.gitignore文件 配置.gitignore,排除不需要提交的文件。 此时我们尝试做一次提交,Team->Commit 如上图所示,Author和Committer会默认为Git配置的用户信息。 下面的Files窗口中可以看到此次提交的文件,其中有非常多带有work的文件,此时,在我们的project中链接的work也被GIT默认到版本控制中了。 work下面的文件不需要进行版本控制的,我们可以通过配置.gitignore来排除这这个文件夹。 打开Navigator窗口,在project根目录中添加.gitignore文件,将需要排除控制的目录写入.gitignore文件中。 再次尝试commit,需要提交的文件已经被过滤。 首次提交后,会自动生成master分支 然后在com.hh中新建一个文件,可以看到图标依然是问号,处于untracked状态,即git没有对此文件进行监控。 通过Team->Addtoindex可以将文件加入git索引,进行版本监控 PS:可以看到图标显示也有了变化(EGIT中只要Commit就可以默认将untracked的文件添加到索引再提交更新,不需要分开操作) 也可以通过Team->Untrack将文件从索引控制中排除。 将此次新增的文件commit到仓库中,文件将处于unmodified状态,或者说,这就是一种staged状态 然后修改文件的内容,文件将处于modified状态 五、查看历史记录 Team->Showinhistory可以查看版本历史提交记录 可以选择对比模式 六、推送远程仓库

Git使用教程

Git使用教程 原文出处:涂根华的博客 一:Git是什么? Git是目前世界上最先进的分布式版本控制系统。 二:SVN与Git的最主要的区别? SVN是集中式版本控制系统,版本库是集中放在中央服务器的,而干活的时候,用的都是自己的电脑,所以首先要从中央服务器哪里得到最新的版本,然后干活,干完后,需要把自己做完的活推送到中央服务器。集中式版本控制系统是必须联网才能工作,如果在局域网还可以,带宽够大,速度够快,如果在互联网下,如果网速慢的话,就纳闷了。 Git是分布式版本控制系统,那么它就没有中央服务器的,每个人的电脑就是 一个完整的版本库,这样,工作的时候就不需要联网了,因为版本都是在自己的电脑上。既然每个人的电脑都有一个完整的版本库,那多个人如何协作呢?比如说自己在电脑上改了文件A,其他人也在电脑上改了文件A,这时,你们两之间只需把各自的修改推送给对方,就可以互相看到对方的修改了。 三:在windows上如何安装Git? msysgit是 windows版的Git,如下: 需要从网上下载一个,然后进行默认安装即可。安装完成后,在开始菜单里面找 到“Git –> Git Bash”,如下: 会弹出一个类似的命令窗口的东西,就说明Git安装成功。如下:

安装完成后,还需要最后一步设置,在命令行输入如下: 因为Git是分布式版本控制系统,所以需要填写用户名和邮箱作为一个标识。 注意:git config –global 参数,有了这个参数,表示你这台机器上所有的Git 仓库都会使用这个配置,当然你也可以对某个仓库指定的不同的用户名和邮箱。四:如何操作? 一:创建版本库。

Git 常用命令速查

一、Git 常用命令速查 git push origin :分支名删除远程库分支 git branch 查看本地所有分支 git status 查看当前状态 git commit 提交 git branch -a 查看所有的分支 git branch -r 查看远程所有分支 git commit -am "init" 提交并且加注释 git remote add origin git@192.168.1.119:ndshow git push origin master 将文件给推到服务器上 git remote show origin 显示远程库origin里的资源 git push origin master:develop git push origin master:hb-dev 将本地库与服务器上的库进行关联 git checkout --track origin/dev 切换到远程dev分支 git branch -D master develop 删除本地库develop git checkout -b dev 建立一个新的本地分支dev git merge origin/dev 将分支dev与当前分支进行合并 git checkout dev 切换到本地dev分支 git remote show 查看远程库 git add . 目录下所有的文件 git rm 文件名(包括路径) 从git中删除指定文件 git clone git://https://www.360docs.net/doc/3b14011292.html,/schacon/grit.git 从服务器上将代码给拉下来 git config --list 看所有用户 git ls-files 看已经被提交的 git rm [file name] 删除一个文件 git commit -a 提交当前repos的所有的改变 git add [file name] 添加一个文件到git index git commit -v 当你用-v参数的时候可以看commit的差异 git commit -m "This is the message describing the commit" 添加commit信息git commit -a -a是代表add,把所有的change加到git index里然后再commit git commit -a -v 一般提交命令 git log 看你commit的日志 git diff 查看尚未暂存的更新 git rm a.a 移除文件(从暂存区和工作区中删除) git rm --cached a.a 移除文件(只从暂存区中删除) git commit -m "remove" 移除文件(从Git中删除) git rm -f a.a 强行移除修改后文件(从暂存区和工作区中删除) git diff --cached 或$ git diff --staged 查看尚未提交的更新 git stash push 将文件给push到一个临时空间中 git stash pop 将文件从临时空间pop下来 --------------------------------------------------------- git remote add origin git@https://www.360docs.net/doc/3b14011292.html,:username/Hello-World.git

gitlab代码版本管理流程2020414

GitLab代码开发管理 一,分支管理 GitLab固定三个分支及其关系master-->release-->development,三个分支只有Maintainers允许merge,允许push. 设置方法:Settings-->Repository-->Protected Branches可以添加保护分支策略,如下图: 图1.1分支保护 成员分支: 每个成员须从development分支下创建自己的开发分支,命名规则development_xxx_bugfix或者development_xxx_newfeatures等,xxx代表开发者名字全拼. 二,开发管理 开发提交代码步骤: 1,成员在自己拥有的分支上开发new features或者bug fix 2,完成之后push到自己的分支 3,创建merge request到development分支并指向研发负责人 4,研发负责人收到merge request后进行code review 5,没有问题之后研发负责人merge此次request;有问题的话和开发者说出问题所在,并且关闭此次merge request

图2.1开发提交代码步骤流程 三,发版管理 待测试完成测试后,分支需由研发负责人按照development-->release-->master进行merge,最终master分支保留有本次版本开发的最新最全没有bug的代码 四,tag管理 新版本发布后必须创建tag封版本,方便以后对之前版本和问题的追踪管理 具体步骤:Repository-->Tags-->New tag

图3.1创建tag

Git+使用教程

Git 中文教程 介绍 Git --- The stupid content tracker, 傻瓜内容跟踪器。Linus 是这样给我们介绍 Git 的。 Git 是用于 Linux 内核开发的版本控制工具。与常用的版本控制工具 CVS, Subversion 等不同,它采用了分布式版本库的方式,不必服务器端软件支持,使源代码的发布和交流极其方便。 Git 的速度很快,这对于诸如Linux kernel 这样的大项目来说自然很重要。 Git 最为出色的是它的合并跟踪(merge tracing)能力。 实际上内核开发团队决定开始开发和使用 Git 来作为内核开发的版本控制系统的时候,世界开源社群的反对声音不少,最大的理由是 Git 太艰涩难懂,从 Git 的内部工作机制来说,的确是这样。但是随着开发的深入,Git 的正常使用都由一些友好的脚本命令来执行,使 Git 变得非常好用,即使是用来管理我们自己的开发项目,Git 都是一个友好,有力的工具。现在,越来越多的著名项目采用 Git 来管理项目开发,例如:wine, U-boot 等,详情看https://www.360docs.net/doc/3b14011292.html,/git 作为开源自由原教旨主义项目,Git 没有对版本库的浏览和修改做任何的权限限制。它只适用于 Linux / Unix 平台,没有 Windows 版本,目前也没有这样的开发计划。 本文将以 Git 官方文档Tutorial,core-tutorial和Everyday GIT作为蓝本翻译整理,但是暂时去掉了对 Git 内部工作机制的阐述,力求简明扼要,并加入了作者使用 Git 的过程中的一些心得体会,注意事项,以及更多的例子。建议你最好通过你所使用的 Unix / Linux 发行版的安装包来安装 Git, 你可以在线浏览本文,也可以通过下面的命令来得到本文最新的版本库,并且通过后面的学习用 Git 作为工具参加到本文的创作中来。 $ git-clone https://www.360docs.net/doc/3b14011292.html,/git/gittutorcn.git 创建一个版本库:git-init-db 创建一个 Git 版本库是很容易的,只要用命令git-init-db就可以了。现在我们来为本文的写作创建一个版本库: $ mkdir gittutorcn $ cd gittutorcn $ git-init-db git 将会作出以下的回应 defaulting to local storage area 这样,一个空的版本库就创建好了,并在当前目录中创建一个叫 .git 的子目录。你可以用 ls -a 查看一下,并请注意其中的三项内容: ● 一个叫 HEAD 的文件,我们现在来查看一下它的内容:

Git 19个常用的命令

Git 19个常用的命令 Git 19个常用的命令 1. 超实用 Alias 1 2 3 4 5 6 7 8 alias g="git" alias gb="git branch" alias gco="git checkout" alias gcmsg="git commit -m" alias gamend="git commit --amend -C HEAD" alias gst="git status" alias log="git log --oneline --graph --decorate --color=always" alias logg="git log --graph --all --format=format:'%C(bold blue)%h%C(reset) - %C(bold green)(%ar)%C(reset) %C(white)%s%C(reset) %C(bold white)— %an%C(reset)%C(bold yellow)%d%C(reset)' --abbrev-commit --date=relative" 2. 取回远端 master 与本地 master 分支合并 1 2 3 4 5 6 7 gco master g fetch --all 或者 g fetch origin master g reset --hard origin/master(本地没有修改,所以完全覆盖也没关系) 或者 g rebase origin/master (本地有修改还没push ) 3. 推送分支到远端 假设现在所在的分支是import ,指定推送到远端分支liujin-import 1 g push origin import:liujin-import 假如远端的 liujin-import 分支已经不需要,可以直接覆盖掉 1 g push -f origin import:liujin-import

基于Git的分布式版本控制系统的设计与实现

基于Git的分布式版本控制系统的设计与实现 摘要本文简要介绍了版本控制管理在软件项目开发过程中的重要性,以及主流版本控制工具Git在大型软件项目版本控制管理中的优点与缺点,并在保留Git原有优势的前提下,设计了一套版本控制系统,弥补Git的不足,使它能满足大型软件项目版本控制的需求。 关键词版本控制;Git;分支管理;代码审核 0引言 现在的软件项目开发中,必然涉及版本控制。 版本控制的功能在于跟踪记录整个软件的开发过程,包括软件本身和相关文档。在空间上可以保证完成集中统一管理,解决一致性和冗余问题。在时间上全程跟踪记录工具将会自动记录开发过程中的每个更改细节,和不同时期的不同版本,以便对不同阶段的软件及相关文档进行表示并进行差别分析,对软件代码进行可撤消的修改,便于汇总不同开发人员所做的修改,辅助协调和管理软件开发团队。 1 为什么选择Git 1.1 Git的优势 相对于其他流行的软件版本开源管理软件,Git的优势在哪里呢? 1.1.1 对网络的依赖性更低 虽然现在网络非常普及,但是并不是随时随地都有高速网络,低速的网络会让人心情烦躁,有时候就呆呆地盯着屏幕上的提交进度,什么事情也干不了。而Git的绝大部分操作在本地完成,不用和集中的代码管理服务器交互,只有最终完成的版本才需要向一个中心的集中的代码管理服务器提交。 1.1.2 方便的原子提交跟踪 Git的每次提交都会根据SHA-1算法生成唯一的commit id。而不像CVS那样都是对单个文件分别进行版本的更改。所以当你跟踪以前某次提交的代码时,不用考虑到底提交了哪些文件,所有的变动代码会一次性的取出来。 1.1.3 更方便的分支合并操作 Git的分支管理相对CVS 等系统容易多了,无论是建立新的分支,还是在分支之间切换都一条命令完成,不需要建立多余的目录。分支之间合并时,不仅代码会合并在一起,提交历史也会保留,这点非常有助于分支的管理与追踪。 1.2 Git的缺点 对于一个大型项目而言,在项目管理的过程中,只依靠Git原有的功能来进行版本控制管理是远远不够的。Git无法满足大型项目的管理要求。 1.2.1对创建仓库、分支等操作的管理权限分级 Git是分布式版本控制工具,任何人都可以将自己的本地创建的分支、标签等注入到中央代码仓库中,极大的提高了中央仓库的维护成本。不利于大型项目的协同开发。 1.2.2对多个仓库进行同步管理。 Git的每个仓库都是独立的,无法做到跟踪软件本身的同时,对软件相关文档也进行跟踪,无法对不同阶段的软件及相关文档进行差别分析,不利于团队协作和管理。 1.2.3保护中央代码仓库以防污染

gerrit git 常用操作

gerrit/git常用操作 1、代码下载方法 a. 下载整个工程代码: repoinit …… repo sync b. 下载部分模块代码 repoinit …… repo sync + projectPath 2、通过repo 提交代码 a.下载所需修改模块的代码 mkdir Test cd Test repoinit …… repo sync projectName b. 建立新分支:repo start branchName . / repo start branchNameprojectName c. 修改代码 d. git add . (提交所有修改到git缓冲区) / git add + FileName(只提交指定文件) e. git commit -s 格式要求: module: submodule: Message Title Blablabla Message Content Blablablablablablablablabla Ticket: APOLLO-20472 f. repo upload . / repo upload projectName g. 评审代码并submit。 3、直接通过gerrit pick Patch a.在gerrit上打开需要pick的patch b.点击“Cherry Pick To”按钮,在弹出的对话框中输入需要pick到的branch. 注意:如果无法直接pick过来,网页会直接报错,此时则需要按下面的步骤4手动pick,并解决冲突。 c.成功pick之后,会生成一个新的gerrit提交,并自动在Reviewer中加入了原Author,merge 之前让原Author确认。 d.评审代码并submit。 4、Pick冲突解决: 如果在gerrit上直接pick产生冲突,需要手动pick,并解决冲突:

GIT使用操作指南

GIT使用说明GIT使用说明

说明 本文档只是日常工作中一些使用步骤的简单归纳,旨在帮助大家快速用上GIT,如 有疏漏,请大家发邮件yuxiao.qiao@https://www.360docs.net/doc/3b14011292.html,,会及时进行改进,谢谢。文档简介 1.安装支持中文文件名的Git 命令行软件包MsysGit。 2.在MsysGit 中生成用来访问Git 版本控制库的公钥数据。 3.安装Git 图形界面客户端软件TortoiseGit。 4.配置TortoiseGit。 5.在服务器中新建版本库。 6.TortoiseGit使用简介。

目录 1.安装MSYSGIT (3) 2.生成SSH 密钥 (7) 2.1.Linux系统 (7) 2.2.Windows操作系统 (8) 2.3.添加ssh文件 (9) 3.安装TORTOISEGIT (11) 4.配置TORTOISEGIT (12) 5.新建版本库 (14) 6.TORTOISEGIT使用 (15) 6.1.Clone版本库 (16) 6.2.设置参数 (17) 6.3.新增文件 (18) 6.4.修改文件 (23) 6.5.删除文件 (28)

GIT 使用指南1.安装MsysGit 1.下载安装程序,下载地址: https://www.360docs.net/doc/3b14011292.html,/files/Git-1.8.1.2-preview20130201.exe 2.双击安装软件,进入安装页面,单击“next”,在以下页面中设置软件安装路 径。 3.配置命令行快捷方式,在安装中会出现设置如何与Windows 的文件浏览器结 合的界面,设置成“可在目录上点右键直接进入该目录的Git 命令行”,如 下图所示:

Git版本控制系统的使用方法

Git版本控制系统的使用方法 一、Git简介 Git是一个分布式版本控制系统,是用来追踪计算机文件的变化的工具,也是一个供多人使用的协同工具。每个人都可以拥有一个完整的版本库。分布式版本控制系统的几乎所有操作包括查看提交日志、提交、创建里程碑和分支、合并分支、回退等都可以直接在本地完成而不需要网络连接。 二、Git客户端的下载和安装 Git官方客户端为Git Bash,Git bash是以命令行的形式来操作的,另外本使用方法中可视化软件采用了sourcetree,Git bash和sourcetree的使用请自行选择,用户需先下载Git和sourcetree。 1.Git的下载和安装: 1) 官网地址:https://https://www.360docs.net/doc/3b14011292.html,/ 进入Git官网,由于电脑是Windows系统,选择Downloads for Windows。 2) 右键以管理员身份运行下载的安装包。

3) 选择安装路径 4) 一直点击Next按钮,当出现下图情况时选择“Use Windows’default console window”,然后点击“Next”

5) 继续点击“Next”,最后点击“Install”,等待安装完成。 6) 在开始菜单中打开Git CMD 在CMD中输入Git,出现Git的相关提示说明安装成功,如下图所示: 参考文档:https://www.360docs.net/doc/3b14011292.html,/s?id=1601036689157983619&wfr=spider&for=pc

2.Sourcetree下载和安装: 1)首先,下载windows版本的企业版sourceTree。直接进入官网 https://https://www.360docs.net/doc/3b14011292.html,/enterprise下载 2)进入下载保存sourceTree的目录,双击SourceTreeEnterpriseSetup_3.0.17.msi文件进行 安装

Git版本控制的安装使用指南

1. 概述 Git是基于Linux内核开发的分布式版本控制/软件配置管理软件,与CVS、Subversion 等集中式版本控制软件不同,Git采用分布式管理,不需要服务器端软件即可运行。Git速度很快,并且具有很出色的合并追踪能力。很多有名的软件开发都使用Git来进行版本控制,其中有Linux内核、https://www.360docs.net/doc/3b14011292.html,服务器和OLPC内核开发等。 作为开源软件的代表,Git不对版本库的浏览和修改作任何的权限限制,因此只能采用其他工具实现权限管理,如gitosis、gitolite、CodeBeamer MR。 原本Git的使用只限于Linux/Unix,由于Cygwin、msysgit、TortoiseGit等GUI工具的出现,在Windows平台的使用逐渐成熟。 2. Git安装 2.1 安装Git 安装Git作为客户端,运行客户端可通过Git Bash(Git的命令行)或Git GUI操作。Windows下使用Git-1.7.8-preview20111206.exe,安装要点如下:

上述图片所示选项,似乎也不确定,网上帖子安装教程各种选项都有。安装完后,点击桌面Git Bash启动,执行命令pwd查看默认进入的文件目录,执行下面命令:mkdir .ssh (注意文件名前有.),即在默认目录下建立.ssh文件夹。修改环境变量,桌面右击我的电脑, 在属性中选择高级选项,左击环境变量,在系统变量中选择新建或编辑

下面列出一些问题的解决方法: a. Git Bash中ls不能显示中文目录(可直接打开编辑):在 git/etc/git-completion.bash中增加一行: alias ls='ls --show-control-chars --color=auto',注意引号为中文单引号,重启Git Bash b. Git commit不能提交中文注释:修改git/etc/inputrc中对应的行: set output-meta on set convert-meta off c. git log无法显示中文注释,在git/etc/profile中增加一行: export LESSCHARSET=iso8859 安装完后,需要在Git Bash中注册本人信息: git config --global https://www.360docs.net/doc/3b14011292.html, Your Name git config --global user.email your@email.address 在服务端,即Ubuntu,安装Git: sudo apt-get install git-core git-doc 3. Gitolite安装

gitlab使用指南

gitlab使用指南 1 gitlab介绍 GitLab 是一个用于仓库管理系统的开源项目,使用Git作为代码管理工具,并在此基础上搭建起来的web服务。 GitLab是基于网络的Git仓库管理工具,且具有wiki和issue跟踪功能。使用Git作为代码管理工具,并在此基础上搭建起来的web服务。 GitLab,它使用Ruby语言写成。后来,一些部分用Go语言重写。 2应用特点 1.Web框架使用RubyonRails。 2.基于MIT代码发布协议。 3.需要gitolite协同工作 3优点 GitLab为整个DevOps生命周期提供解决方案 1.管理 统计和分析功能。 GitLab提供统计数据和洞察力,以帮助提高GitLab在组织中的价值。 2.计划 项目计划和管理功能。 使用GitLab灵活的项目管理工具可视化,确定优先级,协调和跟踪进度。 3.创造 源代码以及数据创建和管理功能。 将源代码整合到一个易于管理和控制的分布式版本控制系统中,而不会影响工作流程。GitLab的Git存储库附带分支工具和访问控制,可为项目和代码的协作提供可扩展的单一事实来源。 4.校验 测试,代码质量和持续集成功能。 内置的静态代码分析,代码测试,代码质量,依赖项检查和Review Apps可以更快地发现错

误,提高安全性并缩短反馈周期。自定义您的批准工作流控件,自动测试代码质量,并为每个代码更改启动过渡环境。 GitLab持续集成是下一代测试系统,可以扩展以更快地运行测试。 5.包 Docker容器注册表。 GitLab软件包允许组织将GitLab用作各种常见软件包管理器的专用存储库。用户能够构建和发布程序包,这些程序包可以很容易地作为下游项目中的依赖项使用。 6.发布 应用程序发布和交付功能。 花更少的时间配置工具,而花更多的时间创建工具。无论要部署到一台服务器还是数千台服务器,都可以通过GitLab内置的持续交付和部署来自信,安全地构建,测试和发布代码。 7.配置 应用程序和基础结构配置工具。 使用GitLab Auto DevOps自动执行从构建到部署和监视的整个工作流程。最佳实践模板可帮助您从最小到零的配置开始。然后自定义所有内容,从构建包到CI / CD。 8.监控 应用程序监视和指标功能。 确保应用程序始终响应并可用。 GitLab会收集并显示已部署应用程序的性能指标,因此可以立即知道代码更改如何影响生产环境。 9.安全 安全功能功能。 检查应用程序是否存在安全漏洞,这些漏洞可能导致未经授权的访问,数据泄漏和服务拒绝。GitLab将对应用程序代码执行静态和动态测试,查找已知缺陷并在合并请求中报告这些缺陷,以便可以在合并之前修复它们。安全团队可以使用仪表板来获得项目和组的高级视图,并在需要时启动补救过程。 4运行gitlab gitlab-ctl start

GIT使用入门详细教程

GIT使用入门 Part 1 第一章基本原理 git是一个版本控制系统。官方的解释是:版本控制(Revision control)是一种软 件工程技巧,籍以在开发的过程中,确保由不同人所编辑的同一档案都得到更新。按我的白话文解释就是:一群志同道合的人身处祖国各地,希望来合作开发一个 项目,假设这个项目是使用c语言写的(当然用任何语言都可以的)。那么大家怎么合作呢?用信件?效率太低。用邮件,不好实现多人沟通。用google group吧,可开发阶段中的源代码没法科学管理。用自建的网站吧,需要人力物 力财力来支撑阿。 这个时候版本控制系统就派上用场了。它可以让一个团队里的不同的人在不同地点、不同时间开发和改进同一个项目,并且在大部分的时间里,版本控制系统会聪明的帮你把不同的人在不同地点不同时间修改的代码融合到项目中去。(当然在一些特殊的情况,还是需要人去决定到底哪些代码需要加入到项目中,这个在后面讨论不迟,先让大家对版本控制有一个好印象,呵呵) 知道了版本控制系统的优点之后,下面就要具体实践和体验了。建议你选用的版本控制系统包括: rcs,cvs,svn,git,Mercurial,Bazzar等等。 当然git,Mercurial和Bazzar都是属于分布式版本控制系统。 下面是一些网友对于这些版本控制系统评论的只言片语: 1)svk配合svn可以实现分布式的版本控制。 2) 我是从SVN转到Git下的。我想Git的优势是速度飞快,谁用谁知道! 3) git的确是最快的,bzr慢的要死 4) SVN 在windows 下有TortoiseSVN 5) git 有Windows 版本,在google code 上的项目。https://www.360docs.net/doc/3b14011292.html,/p/msysgit/ 6) 大家可以试试国内提供的git服务。https://www.360docs.net/doc/3b14011292.html, 那么,简单地说,Git 究竟是怎样的一个系统呢?请注意,接下来的内容非常重要,若是理解了Git 的思想和基本的工作原理,用起来就会知其所以然,游刃

CentOS下搭建Git版本控制系统总结

CentOS下搭建Git版本控制 系统总结 (编号: ***************) 二零一二年五月 ------------------------------------------------------------------------ 对本文件资料享受著作权及其它专属权利,未经书面许可,不得将该等文件资料(其全部或任何部分)披露予任何第三方,或进行修改后使用。

文件更改摘要

目录 1. 引言 (4) 1.1 文档目的 (4) 1.2 文档范围 (4) 1.3 定义参考文献 (4) 1.4 定义、首字母缩写和缩略语 (4) 2. Linux系统的安装 (5) 2.1 安装步骤 (5) 2.2 完成系统安装 (6) 3. 安装前准备工作 (7) 3.1 配置好IP、DNS 、网关 (7) 3.2 配置防火墙,开启80端口、3306端口 (7) 3.3 gcc安装 (8) 4. Nginx安装步骤 (9) 5. MySQL的安装 (10) 6. Redmine的安装 (11) 7. Java的安装 (14) 7.1 安装JDK (14) 7.2 设置环境变量 (14) 7.3 测试 (16) 8. Jenkins安装: (17) 8.1 Jenkins安装 (17) 8.2 测试 (17) 8.3 Nginx代理 (17) 9. Maven安装: (19) 9.1 安装 (19) 9.2 测试 (19) 10. Nexus安装: (21) 安装 (21) 10.2 设置为服务 (21) 10.3 Nginx代理 (21) 11. Git安装: (23) 11.1 安装 (23) 11.2 使用图形化用户界面 (23) 12. Gerrit安装: (24) 安装 (24) 12.2 Nginx代理 (26) 12.3 测试访问 (26)

git常用命令文档

Git常用命令文档 master分支:主干、正式环境 develop分支: 开发环境 test分支:测试环境 一、创建 复制一个已创建的仓库: $ git clone ssh://user@https://www.360docs.net/doc/3b14011292.html,/repo.git 创建一个新的本地仓库: $ git init 二、本地修改 显示工作路径下已修改的文件: $ git status 显示与上次提交版本文件的不同: $ git diff 把当前所有修改添加到下次提交中: $ git add 提交本地的所有修改: $ git commit -a 提交之前已标记的变化: $ git commit 附加消息提交: $ git commit -m 'message here' 三、提交历史 从最新提交开始,显示所有的提交记录(显示hash,作者信息,提交的标题和时间): $ git log

四、分支与标签 列出所有的分支: $ git branch 切换分支: $ git checkout 创建并切换到新分支: $ git checkout -b 基于当前分支创建新分支: $ git branch 删除本地分支: $ git branch -d 更新与发布 将远程端版本合并到本地版本中: $ git pull origin master 将本地版本发布到远程端: $ git push origin : 删除远程端分支: git push origin --delete 五、合并与重置 将分支合并到当前HEAD中: $ git merge 六、撤销 放弃工作目录下的所有修改: $ git reset --hard HEAD 移除缓存区的所有文件(i.e. 撤销上次git add): $ git reset HEAD 将HEAD重置到指定的版本,并抛弃该版本之后的所有修改: 1. $ git reflog 2. $ git reset --hard

git使用指南

Git使用指南 Li Yanrui v0.1,20080728 liyanrui.m2@https://www.360docs.net/doc/3b14011292.html,

前言 Git是什么 非常简单地说,Git是一个快速、可扩展的分布式版本控制系统,它具有极为丰富的命令集,对内部系统提供了高级操作和完全访问。所谓版本控制系统(Version Control System),从狭义上来说,它是软件项目开发过程中用于储存我们所写的代码所有修订版本的软件,但事实上我们可以将任何对项目有帮助的文档交付版本控制系统进行管理。 2005年,Torvalds开始着手开发Git是为了作为一种过渡方案来替代BitKeeper,后者之前一直是Linux内核开发人员在使用的版本控制工具,当时由于自由软件社区中的许多人觉得BitKeeper的使用许可证并不适合自由软件社区的工作,因此Linus决定着手开发许可证更为自由灵活的版本控制系统。尽管最初Git的开发是为了辅助Linux内核开发的过程,但是现在很多其他自由软件项目中也使用了Git实现代码版本管理,譬如,https://www.360docs.net/doc/3b14011292.html,项目、许多https://www.360docs.net/doc/3b14011292.html,的项目、Ruby项目等。 为什么使用版本控制系统 版本控制系统是为懒人准备的,它让懒人们比那些善于备份文档的勤劳人拥有更干净的文件系统以及更多的可以活着的时间。 本文档主要内容 在第1章中讲述如何使用Git管理自己的个人文档,主要是初步熟悉Git的诸多概念及其日常基本命令的使用。第2章中主要讲述如何基于Git实现多人协作的项目开发模式,以此扭转当前实验室成员在项目研发中各自为政或不能有效沟通的现状。第3章讲述如何利用Git强大的项目分支管理功能实现良好风格的项目协同开发模式。第4章为Git使用之FAQ,用于记载在本实验室推广使用Git过程中诸位同学所遇到的一些细节问题。

git基本操作命令

GIT日常操作命令 1、git三种状态 已提交(committed)已修改(modified)已暂存(staged) 2、获取项目的git仓库 git init//从当前目录初始化 git clone gitosis@192.168.2.4:soul/soul //从现有仓库克隆 3、配置git仓库相关信息 git config https://www.360docs.net/doc/3b14011292.html, "yayun.tian" git config user.email yayun.tian@https://www.360docs.net/doc/3b14011292.html, ….... 4、检查当前文件状态 git status 5、跟踪新文件 git add gir add --all//一次性跟踪当前目录全部文件注:可以创建一个名为.gitignore 的文件,列出要忽略的文件模式,例如: # – 此为注释将被git 忽略 *.a # 忽略所有.a 结尾的文件 !lib.a # 但lib.a 除外 /TODO # 仅仅忽略项目根目录下的TODO 文件,不包括subdir/TODO build/ # 忽略build/ 目录下的所有文件 doc/*.txt # 会忽略doc/notes.txt 但不包括doc/server/arch.txt 6、移除文件 git rm //移除暂存区的内容而且工作目录也连带删除注:如果仅仅想删除暂存区可以加上cached选项 — 7、提交 先用git diff --color 查看确认修改 git commit -a -m“comment”//comment代表此次修改的注释 git commit --amend //修改最后一次提交 如果忘记暂存某些文件就提交了,可以暂存后使用amend再次提交

Git的使用说明

Git的使用说明 2011.6.18 一,git的简单介绍 git是一个快速可扩充的分布式版本控制系统。 Git的绝大部分操作在本地完成,不用和集中的代码管理服务器交互,本地提交为commit,待完成一部分工作觉得有把握提交到服务器则是push。终于可以随时随地大胆地check in代码了。只有最终完成的版本才需要向一个中心的集中的代码管理服务器提交。 Git的分支管理branch管理容易多了,无论是建立新的branch,还是在branch之间切换都一条命令完成,不需要建立多余的目录。 二,git的个人本地使用及操作 1,创建Git库 cd 源码目录 git init #初始化在源码目录内生成一个.git的目录 2,注册用户信息(网上资料说是必需注册才能使用git工具,局域网内可不注册,直接用主机名,如pengwufeng@ubuntu) git config https://www.360docs.net/doc/3b14011292.html, XXX 用户名 git config user.email XXX 用户邮箱 git config –list #查看用户信息 3,向git库中添加或删除文件 git add XX #加单个文件 git add . #加所有 4,向版本库提交变化 git commit #提交(系统会默认让用户添加提交信息) git commit –m “XXXX”#直接添加简单提交信息 git status #查看项目状态 git log #查看版本信息 git log –p #查看版本信息并显示每次修改的diff git show sdjf974654dd…. #查看指定版本信息 #(show后面为每次提交系统自动生成的一串哈希值) git show sdji97 #一般只使用版本号的前几个字符即可 5,撤销与恢复 git reset git reset --hard #回到原来编辑的地方 #(同样适用于团队对于其他人的修改恢复)git reset --hard sdv143kvf…... #可回到指定的版本 #(hard后面为每次提交系统自动生成的一串哈希值)

git常用命令集详解

git使用记录 1.生成密匙: ssh-keygen-t rsa几次回车,在.ssh/下的id_rsa.pub即为密匙文件; 2.获取git分支: A.远程获取:(路径须绝对路径) git clone git@192.168.1.50:/home/git/repositories/A20-Android4_2.git. (注意在最后加个点是为了避免clone时在当前目录下新建一个git目录) B.本地获取:(路径为相对路径即可) git clone git@192.168.1.50:A20-Android4_2.git. C.查看所获取分支的路径: git remote-v D.切换到某个分支: git checkout$branchname 3.分支的新建与删除: A.新建: git branch$branchname(注意在哪个分支上执行就是基于哪个分支新建) git push origin$branchname(推到服务器仓库) B.删除: git branch-D$branchname(删除本地的分支) git branch-rd origin/$branchname(删除服务器仓库分支) git push origin:$branchname(注意冒号) git remote prune origin(同步远端已删除分支)

4.修改内容查看及提交: A.查看未提交的修改: git status/git status.(查看修改的文件) git diff/git diff.(查看修改的内容) B.查看已提交修改: git log(查看提交信息) git whatchanged(查看每个提交修改的文件) git diff$2$1(查看莫个"提交ID"$1的修改内容) C.还原被修改文件: git checkout-f*/$fileanme D.提交修改: git add*/$filename(将新建文件加入仓库) git commit*/$filename-m"***"/git commit-a-m""(提交修改/提交当前所有修改,删除一个文件也可以) git push origin$branchname E.还原到某个提交ID前: git reset“$提交ID”(注意避免冲突:如果本地有修改过即将还原的文件,可以先备份it,然后git checkout-f$it) git push origin$branchname--force git pull origin$branchname F.提取同一仓库不同分支的修改: git cherry-pick“$提交ID”

Git版本管理工具操作规范

Git版本管理工具操作规范

2017年5月

修改记录

目录 1引言.................................................................. - 7 -1.1文档目的....................................................... - 7 -1.2适用对象....................................................... - 7 -1.3适用范围....................................................... - 7 -2分支命名规范.......................................................... - 7 -3操作规范.............................................................. - 8 -3.1 OA 系统........................................................ - 8 -3.1.1工作流.................................................. - 8 - 3.1.2开发人员日常操作规范.................................... - 8 -3.1.2.1克隆分支......................................... - 8 - 3.1.2.2创建新分支....................................... - 8 - 3.1.2.3提交修改内容..................................... - 9 - 3.1.2.4推送自己的开发分支到远端......................... - 9 - 3.1.2.5合并自己的开发分支到主开发分支................... - 9 -3.1.3测试人员日常操作........................................ - 9 -3.1.3.1克隆分支......................................... - 9 - 3.1.3.2创建新分支操作.................................. - 10 - 3.1.3.3合并开发人员的代码.............................. - 10 -

相关文档
最新文档