HowTo-use-TortoiseGit-for-Windows

Git是目前最先进的版本控制系统,越来越多的业务场景都在使用Git,风靡全球的Github更是让Git版本控制系统名声大震,但是GitHub旨在建立一个开源的生态环境,所以不适合企业内部的管理系统,在之前的文章中,我也讲到了如何搭建GitLab,可以在企业内部自建一套功能完善的Git版本控制系统。

GitLab是一个非常成熟的服务端应用,但是作为一名开发人员,我们在使用GitLab与其他人员协同版本时,需要有一个工作对我们的每次修改更新以及推送,这也是版本控制工具的真正精髓;在不同的平台有着很多丰富的应用软件,所以挑选一款适合自己的Git GUI工具很重要。

目前在众多Git Client之中做的比较好的是SourceTree,并且同时支持Mac和Windows双平台,但是有一个问题,当我们在初次安装时需要验证Atlassian账号,但是Atlassian的注册页面用了requirejs,而且是用了Google的CDN服务,所以必须翻墙,这对很多中国用户的使用造成了不变;所以,今天我在这里推荐一个在Windows平台下同样可以作为Git图形化客户端工具的:TortoiseGit

TortoiseGit 是 TortoiseSVN 的 Git 版本,TortoiseGit用于迁移 TortoiseSVN 到 TortoiseGit,解决了在Windows平台之上没有合适Git图形化客户端的问题,TortoiseGit不仅免费,而且同样支持丰富的语言包,但是需要独立下载语言包安装,默认只有英文,注意语言包与程序版本一定要匹配。

下载

TortoiseGit的官方下载地址是这里:https://tortoisegit.org/download/ ,下载时请注意与你系统的兼容性。

注意TortoiseGit 1.8.16之后的版本不在支持Windows XP 和 Server 2003

因为TortoiseGit官网不在国内,所以在访问下载时速度非常的慢,我将目前的稳定版本2.4上传到我的百度云盘,但是以后我可能不能及时更新,所以如果你对版本要求不是很高,可以点击下面链接下载。

链接: https://pan.baidu.com/s/1eScNjA6 密码: 31hu

如链接失效,您可以通过本页面右下角展开通过邮箱,与我取得联系。

安装

Git for Windows

首先,我们需要安装Git在你的电脑上,这保证你的TortoiseGit运行时所需要的依赖环境。

下载地址:https://git-for-windows.github.io/

同样,因为某些网络的原因,导致我们在下载时也会很慢,所以我也将目前最新2.13版本上传到了我的百度云盘:

链接: https://pan.baidu.com/s/1c12ZvRq 密码: 43yt

安装过程,这里不在展示,通常情况下,你只需要一路点击Next即可,但是如果你想要修改一些设置,例如默认的安装位置,那么你需要注意下,在TortoiseGit初次启动时,你需要手动设置Git.exe的位置。

TortoiseGit

我的测试系统是Windows 7 旗舰版 64位,并且支持TortoiseGit最新的版本。

请依次安装上图中两个软件,注意LanguagePack应该在主程序之后安装,同样,你也只需要一路点击Next即可。

在你安装完成之后,在该目录的空白区域,单击鼠标右键,你应该会看到新增了TortoiseGit的选项,我们选择”TortoiseGit”>“Settings”来初始化我们设置。

修改程序语言为中文

如果英文你的使用不会有影响,你可以略过这一步骤,同样你也不需要下载上面的LanguagePack包。

好了,按照如上图中操作,你应该已经修改了程序语言为中文,再次到空白区域单击测试就可以看到了。

使用TortoiseGit克隆你的项目

在我们安装了好TortoiseGit和Git的基本基础环境之后,我们需要使用TortoiseGit克隆项目,这里我们是在GitHub创建了一个测试项目,你可以直接使用你的项目地址即可。

测试项目

GitHub和GitLab都提供了通过使用HTTPS和SSH的方式,这两种方式有些不同,我会在下面分开讲述如何使用。

SSH验证方式

如果采用SSH验证方式,那么你需要生成一对公钥和私钥,并且将公钥上传到你的GitLab或GitHub上,然后在克隆你的项目时,使用匹配的私钥即可。

那在Windows如何上生成私钥呢?其实我们在安装TortoiseGit时已经默认安装PuTTYgen工具,我们可以利用它来创建秘钥。

打开PuTTYgen,点击generate即可创建密钥,PuTTYgen其实是按照鼠标运行的轨迹来计算的,所以在点击后,我们不停的使用鼠标移动,等待进度条完成就可以了。

当创建完成之后,你可以看到以下以下内容,注意不要关闭,我们要点击Save public keySave private key,并将上public key传到你的GitHub或GitLab账户之中。

注意,我在图中隐去了其他SSH keys信息,我建议你在做类似分享时也注意隐去你的重要信息

好了,接下来,我们就要开克隆我们的项目了,在你想要存放项目的目录内,鼠标右键选择”Git克隆“,然后输入你的项目URL,并且加载我们刚刚生产私钥文件。

注意,在你确认都没问题的情况下,点击确认,然后你就会看到如下页面,如果这个过程中出现问题,请注意检查项目URL和私钥文件是否正确。

到这里,我们SSH验证仓库的方式就全好,接下来我们就可以使用开始进行我们的工作,但在首次提交我们的项目时,需要设置用户名和密码,这是为了方便验证我们的身份。

点击”是“,在弹出的窗口中设定用户名和邮箱,保存即可。

HTTPS or HTTP

在使用GitLab为公司内部仓库时,可以不开通HTTPS验证,HTTP也不会影响我们的验证方式,但是从安全的角度上来说,强烈建议启用HTTPS,HTTPS加密传输可以给我们的代码和用户信息的安全提供更好的保护。

如果使用HTTPS or HTTP的方式,我们不需要增加任何密钥文件或怎样,只需要使用我们现有的GitHub或GitLab账号即可;在你想要存放项目的目录内,鼠标右键选择”Git克隆“,在弹出的窗口中,注意项目URL要是用HTTPS,并且去掉勾选加载密钥选项。

如果你的项目在GitLab上,并且这个项目是一个私有项目,那么这里就会要求你输入你的GitLab用户名和密码,输入正确的用户和密码就可以成功克隆了。

但是,由于我的测试项目在GitHub上,GitHub上的项目默认都是公开项目,所以在这一步骤不会询问我的用户名和密码,只有在我需要将本地更新推送到GitHub时才会验证;所以接下来我在项目目录下新增文件newfile2.txt,

注意,Git不同SVN,Git的提交不会将更新推送到远端服务器,所以我们在提交成功之后,再去手动推送

右键选择Git提交,会弹出提交页面,我们需要这里,输入提交说明信息,和需要提交的文件。

点击”提交之后“,我们会看成功提交的窗口,然后在窗口选择点击推送;

当我们点击推送之后,会要求输入对应的GitHub用户名和密码:

Git 使用规范流程

团队开发中,遵循一个合理、清晰的Git使用流程,是非常重要的。否则,每个人都提交一堆杂乱无章的commit,项目很快就会变得难以协调和维护。下图是比较常规的Git使用规范流程,这能适合绝大多数团队开发的需求,推荐你们也这样使用。

1. 分支管理

  1. 主分支Master:首先,代码库应该有一个、且仅有一个主分支。所有提供给用户使用的正式版本,都在这个主分支上发布。

  2. 开发分支Develop:主分支只用来分布重大版本,日常开发应该在另一条分支上完成。我们把开发用的分支,叫做Develop。

  3. 临时性分支

    1. 功能分支 : 为了开发某种特定功能,从Develop分支上面分出来的。开发完成后,要再并入Develop,功能分支的名字,可以采用feature-*的形式命名。

    2. 预发布分支 : 指发布正式版本之前(即合并到Master分支之前),我们可能需要有一个预发布的版本进行测试,预发布分支是从Develop分支上面分出来的,预发布结束以后,必须合并进Develop和Master分支。它的命名,可以采用release-*的形式。

    3. 修补bug分支:软件正式发布以后,难免会出现bug。这时就需要创建一个分支,进行bug修补。修补bug分支是从Master分支上面分出来的。修补结束以后,再合并进Master和Develop分支。它的命名,可以采用fixbug-*的形式

2. 新建分支

Master分支不允许进行开发,所有的开发相关操作都必须基于develop分支.

1
2
3
4
5
# 获取主分支最新代码
git chekcout master

# 新建develop分支进行开发
git checkout -b develop
3. 提交分支

分支修改后,使用commit提交修改。

1
2
3
4
5
# add 所有新增的文件
git add --all

# 提交更新, 每次提交必须写增加的东西和修改内容,保证协同开发是其他看到代码就能知道你做了什么
gti commit -m "first commit"
4. 推送到远程仓库

commit 之后,其实代码还在本地仓库,这时我们需要将本地版本与git远端仓库进行同步

1
2
# 推送到远程develop分支
git push origin develop
5. 合并分支

当代码提交到远端develop分支后,应该让别人进行代码review和测试,确认无误后,合并到Master分支,完成开发。

HowTo-Skip-Atlassian-Auth-for-SourceTree

问题

因为国内的网络的原因,导致我们在首次打开SourceTree时需要验证Atlassian账号,但是Atlassian的注册页面使用requirejs是用了Google的CDN服务,所以无法正常通过验证,如果你有翻墙工具,那么这就没有问题,下面我要讲的方法是在不翻墙的情况下跳过初始化验证。

目前我解决的是在Windows平台上的问题,关于Mac平台,我稍后会更新到文档中。

解决思路

我的想法是通过增加account信息,让SourceTree跳过验证;经过测试2.0.19及以下版本都支持,但是SourceTree在最新版本2.0.20时可能修订验证方式,所以导致我的这个方式不适用,大家可以在我的百度云盘共享中下载2.0.19,功能上并没发生多少变化。

链接: https://pan.baidu.com/s/1qYsHKWs 密码: wnc3

解决步骤

.NET 4.5.2

SourceTree 依赖的.NET环境最低是4.5.2,当然在你安装的过程中,会提示你下载安装,你只需要确认即可,不过这样下载会比较慢,所以建议你使用Offline的形式安装,下面是微软官方下载地址:

https://www.microsoft.com/en-us/download/confirmation.aspx?id=42642

SourceTree

安装过程中,默认一路“Next”即可,在安装完成之后,我们需要找到SourceTree在LocalAppData中的路径,请打开资源管理窗口,然后输入以下地址:

1
%LocalAppData%\Atlassian\SourceTree\

如果路径不存在,创建目录即可

然后将之前百度云盘的文件accounts.json复制到这个位置,它的路径应该是:

1
%LocalAppData%\Atlassian\SourceTree\accounts.json

文件内容:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
[
{
"$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.AtlassianAccount",
"Id": "atlassian account"
},
"BaseUrl": "https://id.atlassian.com/"
},
"Credentials": {
"$id": "4",
"$type": "SourceTree.Model.BasicAuthCredentials, SourceTree.Api.Account",
"Username": "",
"Email": null
},
"IsDefault": false
}
]

添加完成之后,启动SourceTree即可发现已经跳过了验证界面。

HowTo Install GitLab

目前最为主流的在线Git版本控制系统可以说是非GitHub莫属,对于个人开发者和开源项目可以直接选择GitHub作为Git版本控制系统即可,但是,对于企业内部开发管理的Git版本控制系统,在对保密性有高要求时GitHub就不合适了,这时GitLab作为一个可以完全搭建在企业内部的Git版本控制系统,而且基本囊括了GitHub的所有功能。

目前GitLab已经整合的功能

  1. Repository access
  2. Administration
  3. Issues
  4. Forks
  5. Code review
  6. Wiki
  7. Merge Requests
  8. Web Editor

测试环境

  • 2 core 4GB
  • 50GB HDD
  • CentOS 6.8
  • Gitlab

安装需求

关于GitLab的安装需求,主要是针对用户量然后评估出服务器及相关资源的配置,查看

GitLab 安装

安装配置依赖项

1
2
3
4
sudo yum install curl openssh-server openssh-clients postfix cronie
sudo service postfix start
sudo chkconfig postfix on
sudo lokkit -s http -s ssh

添加GitLab仓库,并安装到服务器上

1
2
curl -sS http://packages.gitlab.cc/install/gitlab-ce/script.rpm.sh | sudo bash
sudo yum install gitlab-ce

启动GitLab并初始化

1
sudo gitlab-ctl reconfigure

默认登录账号是:root ,你可以在首次打开时设置密码。

GitLab 初始化

开机自启动

1
2
vi /etc/rc.local
/opt/gitlab/bin/gitlab-ctl start

GitLab 配置文件

1
/etc/gitlab/gitlab.rb

SMTP 邮箱配置

如果想使用SMTP代替sendmail来发送邮件,应该在gitlab.rb中启用对应的配置,然后运行gitlab-ctl reconfigure使修改生效。

QQ企业邮箱配置示例
1
2
3
4
5
6
7
8
9
gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.exmail.qq.com"
gitlab_rails['smtp_port'] = 465
gitlab_rails['smtp_user_name'] = "xxxx@xx.com"
gitlab_rails['smtp_password'] = "password"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = true
gitlab_rails['smtp_tls'] = true
gitlab_rails['gitlab_email_from'] = 'xxxx@xx.com'
Gmail邮箱配置示例
1
2
3
4
5
6
7
8
9
10
gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.gmail.com"
gitlab_rails['smtp_port'] = 587
gitlab_rails['smtp_user_name'] = "my.email@gmail.com"
gitlab_rails['smtp_password'] = "my-gmail-password"
gitlab_rails['smtp_domain'] = "smtp.gmail.com"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = true
gitlab_rails['smtp_tls'] = false
gitlab_rails['smtp_openssl_verify_mode'] = 'peer'
Outlook邮箱配置示例
1
2
3
4
5
6
7
8
9
gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp-mail.outlook.com"
gitlab_rails['smtp_port'] = 587
gitlab_rails['smtp_user_name'] = "username@outlook.com"
gitlab_rails['smtp_password'] = "password"
gitlab_rails['smtp_domain'] = "smtp-mail.outlook.com"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = true
gitlab_rails['smtp_openssl_verify_mode'] = 'peer'

​:warning: ‘smtp_password’字段不应包含任何 Ruby或者YAML语法中的分隔符 (如'),以避免处理配置文件的过程中发生不必要的意外。

GitLab 日常维护

1. 查看服务状态

使用 gitlab-ctl status 查看服务状态

1
2
3
4
5
6
7
8
9
10
11
12
13
14
[root@6 ~]# sudo gitlab-ctl status
run: gitaly: (pid 15055) 23089s; run: log: (pid 3142) 55379s
run: gitlab-monitor: (pid 15060) 23088s; run: log: (pid 3325) 55357s
run: gitlab-workhorse: (pid 15063) 23088s; run: log: (pid 3156) 55377s
run: logrotate: (pid 17867) 1487s; run: log: (pid 3197) 55369s
run: nginx: (pid 15077) 23087s; run: log: (pid 3169) 55375s
run: node-exporter: (pid 15083) 23087s; run: log: (pid 3247) 55366s
run: postgres-exporter: (pid 15088) 23086s; run: log: (pid 3311) 55358s
run: postgresql: (pid 15093) 23086s; run: log: (pid 2988) 55412s
run: prometheus: (pid 15101) 23085s; run: log: (pid 3230) 55368s
run: redis: (pid 15109) 23085s; run: log: (pid 2931) 55419s
run: redis-exporter: (pid 15113) 23085s; run: log: (pid 3290) 55364s
run: sidekiq: (pid 17029) 22450s; run: log: (pid 3131) 55380s
run: unicorn: (pid 17001) 22460s; run: log: (pid 3100) 55386s
2. 启动、关闭、重启
1
2
3
4
5
6
7
8
9
10
11
# 启动Gitlab所有组件
sudo gitlab-ctl start

# 停止Gitlab所有组件
sudo gitlab-ctl stop

# 重启Gitlab所有组件
sudo gitlab-ctl restart

# 重启单个组件
sudo gitlab-ctl restart sidekiq
3. 控制台实时查看日志
1
2
3
4
5
6
7
8
# 查看所有的logs; 按 Ctrl-C 退出
sudo gitlab-ctl tail

# 拉取/var/log/gitlab下子目录的日志
sudo gitlab-ctl tail gitlab-rails

# 拉取某个指定的日志文件
sudo gitlab-ctl tail nginx/gitlab_error.log

GitLab 安装后优化

启用HTTPS

首先,你需要提供一个有可信任CA证书,默认情况下GitLab是没有启用HTTPS的,如果要启用HTTPS时,首先要修改/etc/gitlab/gitlab.rb中的external_url:

1
2
3
4
5
# 修改为https
external_url "https://git.ultraera.org"

# 设置默认将http重定向到https
nginx['redirect_http_to_https'] = true

如果你暂时没有https证书,那么你可以临时自己颁发一个证书,注意这个证书是不受信任的。

1
2
3
4
5
mkdir -p /etc/nginx/ssl/
cd /etc/nginx/ssl/
sudo openssl req -newkey rsa:2048 -x509 -nodes -days 3560 -out gitlab.crt -keyout gitlab.key
sudo chmod o-r gitlab.key
sudo mv gitlab.key gitlab.crt /etc/ssl/

另外,还需要在gitlab-shell中的config.yml中将self_signed_cert 修改为启用:

1
self_signed_cert = true

设置延迟启动

为保证服务质量,我们可以设置让omnibus-gitlab的服务(Nginx, Redis, Unicorn等) 在指定的文件系统挂载成功后再启动,在/etc/gitlab/gitlab.rb 文件中添加如下内容:

1
2
# 等待/var/opt/gitlab 先被挂载
high_availability['mountpoint'] = '/var/opt/gitlab'

注意在修改配置之后,要使用重新reconfigure配置

Backups 备份还原

备份

Gitlab的配置也非常简单,使用一条命令即可创建完整的Gitlab备份:

1
gitlab-rake gitlab:backup:create

该命令会在/var/opt/gitlab/backups目录下创建一个名称类似为1491989249_2017_04_12_gitlab_backup.tar的压缩包, 这个压缩包就是Gitlab整个的完整部分,其中开头的1491989249_2017_04_12是备份创建的日期,这也是我们等下恢复是要用的字段。

修改默认备份路径

如果你像我一样,是使用yum安装的,那么GitLab默认的备份目录应该在/var/opt/gitlab/backups,我建议将备份目录修改为其他位置,并添加定时自动备份脚本,可以通过修改/etc/gitlab/gitlab.rb来修改默认位置:

1
gitlab_rails['backup_path'] = '/mnt/backups'
使用crontab 添加自动备份
1
2
# 每天凌晨00:00 自动备份
00 00 * * * /opt/gitlab/bin/gitlab-rake gitlab:backup:create
备份恢复
1
2
3
4
5
6
7
8
9
10
# 停止相关数据连接服务
gitlab-ctl stop unicorn
gitlab-ctl stop sidekiq

# 从1491989249_2017_04_12编号备份中恢复
gitlab-rake gitlab:backup:restore BACKUP=1491989249_2017_04_12

# 启动Gitlab
sudo gitlab-ctl start unicorn
sudo gitlab-ctl start sidekiq

GitLab 迁移

只需将原服务器/var/opt/gitlab/backups目录下的备份文件拷贝到新服务器上的/var/opt/gitlab/backups上即可(如果你没修改过默认备份目录的话), 但是需要注意的是新服务器上的Gitlab的版本必须与创建备份时的Gitlab版本号相同, 比如新服务器安装的是最新的9.0.5版本的Gitlab, 那么迁移之前,最好将老服务器的Gitlab 升级为9.0.5在进行备份。

/Users/Alex/Documents/Hexo/source/_posts/

使用SoureceTree管理你的git项目

Update
  • update: Windows用户在初始化Souretree工具时,需要用到Atlassian ID,新建用户时需要加载google 验证码,这一步需要VPN的支持,请注意。
  • 找到一个版本的SourceTree工具可以不需要以上验证也能使用,下载链接:SourceTreeSetup_1.6.14.exe 密码:c5l4


补充1 :Git学习网站
  1. 猴子都能学会的git教程
  2. 常用 Git 命令清单
  3. 廖雪峰的git教程
  4. Why Git is Better than X
补充2 :利用Git协同开发
  1. 团队中的Git实践
  2. Git 使用规范流程
  3. Git分支管理模型
  4. 图解Git

1. 关于 SourceTree

SourceTree 是一款免费且同时支持Windows 和Mac 的git项目管理软件,本文旨在给大家介绍这款应用的基础使用,并用它来管理你的项目。

官网: https://www.sourcetreeapp.com/

2. git帐号建立

1. 新员工入职之后,你的公司邮箱内会收到一封来自Gitlab的邮件,如下图:

image

2. 点击邮件中的 “Click here to set your password”,设置gitlab登陆密码。

image

3. 登陆gitlab帐号,将会出现这个界面:

image

4. 设定个人信息:

image

5. sshKey

5.1 在Linux和Mac上生成sshkey:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
➜  ~ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/Users/Alex/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /Users/Alex/.ssh/id_rsa.
Your public key has been saved in /Users/Alex/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:98jE3jhBhFT5nQlZRj34a3WOk1t6XF+Dbf/hliXl4WQ Alex@Alex-Mac
The key's randomart image is:
+---[RSA 2048]----+
| ..oo. +=. |
| ... oo ..|
| .. o.o.|
| o . +E+|
| S = **=|
| = * .=BB|
| * o oOO|
| . +o*|
| .oo|
+----[SHA256]-----+
➜ ~ cat ~/.ssh/id_rsa.pub
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCvuQAq65b+nLZPqqc3b3Mj9e7Pt8oWKasJFa2QH1VIEkDvxKLFGcHsT7Ur4zXwEi9YiW2tVRrBSjcMALxuBjVm2IxYV6Lk8SLuGadyYy5telWGJmHsQ3VIPRuKwpzTkLN643kjqc6JFSlnZG/XoP9SPtCOsp2ql4u0s7Auc2bZay4RaTDXbcpJVU9OA0xM8Zy4oTTNYdZ4tvGittVmn+wLrhN255J7clORF5126dmDYxV3E8ZboaDdQpdLGIWmDNcBJQvl0CLwpKUCi7EUDqDVtm4bNgwIX9fEIkTxGdaWjBW1iXBk8TGXWkgB+Qp8B1IwaJ4GHUwUhQrefWvw9XeJ Alex@Alex-Mac
➜ ~

5.2 在Windows上生成sshkey:

因为windows没有自带openssl模块,所以在Windows环境中使用第三方工具puttygen.exe生成sshkey 下载地址

步骤如下:

image
image
image

当sourcetree首次启动时,会弹出加载sshkey的提示,按提示操作,找到之前保存的private.ppk文件

image

5.3 上传sshkey:

image

6. 回到 dashboard ,点击项目名称进入详情:

image

7. 使用souretree将项目从git服务器clone到本地

7.1 安装souretree 软件 [略]

7.2 clone项目到本地

image
image

8. 进入项目工作台:

image

9. 关于sourcetree工具的使用,下面是一些git操作的释疑。

  • 检出仓库: 将在本地创建一个git仓库的克隆版本
  • 工作流: 本地仓库由 git 维护的三棵“树”组成。第一个是 工作目录,它持有实际文件;第二个是 缓存区(Index),它像个缓存区域,临时保存改动;最后是 HEAD,指向最近一次提交后的结果。
  • 提交:可以计划改动(把它们添加到缓存区),将改动提交到了 HEAD,但是还没到提交到远端仓库。
  • 拉取:从远端仓库拉取最新版本状态,特别是在其他人员有所改动之后。
  • 推送:改动现在已经在本地仓库的 HEAD 中了。这时可以使用它将这些改动提交到远端仓库。
  • 分支:分支是用来将特性开发分离出来的。在创建仓库的时候,master 是“默认的”。创建分支将可以从主线开发上分离开来,然后在不影响主线的同时继续工作,完成后再将它们合并到主分支上。
  • 合并: 将分支功能并入主分支。
Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×