Skip to content

babytutu/git-demo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Git软件安装使用教程

for mac -> see USAGE.md

1 安装Git

一切从这里开始 官方下载地址

img

2 配置 ssh-key

Git使用ssh/https两种协议,关联ssh-key并使用ssh协议可以免去每次都输密码的麻烦

参考Git官方帮助文档:生成 SSH 公钥

2.1 判断是否已有ssh-key

默认情况下,用户的 ssh-key存储在其 ~/.ssh 目录

cd ~/.ssh
ls

如图所示,没有ssh-key

img

2.2 生成新的ssh-key

已有ssh-key的跳过这一步

ssh-keygen

首先 ssh-keygen 会确认密钥的存储位置(默认是 .ssh/id_rsa),然后它会要求你输入两次密钥口令。如果你不想在使用密钥时输入口令,将其留空即可。

img

执行ssh-add

eval $(ssh-agent)

ssh-add ~/.ssh/id_rsa

img

2.3 将ssh-key关联到GitHub/GitLab

复制已有的ssh-key

cat ~/.ssh/id_rsa.pub

img

添加到gitlab Profile Setting ssh-keys ADD SSH KEY

img

2.4 验证ssh-key关联状态

以GitHub为例,图中为设置成功的返回结果

ssh -T git@github.com

img

3 安装Sourcetree

免费的Git客户端 官方下载地址

  • 非常高兴的宣布,sourcetree升级到v3了,然后注册账号的问题已经解决了,尴尬的是还是需要注册,那就注册吧,选择右边那个

img

  • 在网页中完成注册,过程有点慢

img

  • 进入一个简单的功能选择界面,如果之前没有安装Git,这个界面会自动下载安装
  • 不要勾选Mercurial,它是Git的兄弟,咱们不用
  • 打开高级选项,都勾上,一个是自动格式化换行符,一个是开启全局忽略文件的设置

img

  • 总算装完了,简单配置下信息,顺便把讨厌的信息收集关闭

img

  • 点击下一步,会出现个加载SSH密钥的提示框,选择

img

  • 看到这个界面,说明安装顺利完成

img

4 Sourcetree简明使用指南

4.1 基础配置

4.1.1 账户信息

先别急着加仓库,还是要简单设置下的,工具-设置

img

主要关注以下几点

  • 默认用户信息,安装过程中已经输过了
  • SSH客户端配置,选择OpenSSH,会自动加载SSH密钥
  • Repo Settings,项目目录选好,以后远程仓库克隆下来就到这个文件夹下了,我只能说这个软件翻译做了一半,如果中文看不下去了,可以在这边切换语言,记得重启后才生效

img

4.2 新建/克隆仓库

Sourcetree提供若干添加仓库的方式

img

4.2.1 Clone

已配置并成功测试ssh-key后,请复制ssh开头的远程仓库地址

最常见的方式,从gitlab中拷贝地址,可以通过高级选项-检出分支来选择分支,git仓库缺省分支一般是master,而开发使用feature或者develop

img

添加成功后,自动进入仓库

img

打开新标签后,会发现所有仓库列表多了个仓库

img

4.2.2 Add

添加已经存在的本地仓库

img

4.2.3 Create

创建本地仓库,把本地文件夹变成一个本地仓库,可以通过关联远程仓库把本地仓库内容推送到远程仓库

img

4.3 分支管理【Git-flow】

分支命名规则 功能 备注
feature 功能分支 功能开发,每次从develop新建
develop 开发分支 功能开发完毕后合并到此分支
release 发布分支 从develop新建,发布tag
hotfix 补丁分支 修复紧急bug
master 生产环境分支 用于记录发布版本

4.3.1 初始化

新仓库先执行Git工作流,为分支设置前缀

img

Git flow的几个基本操作

img

4.3.2 建立新的功能

img

功能开发完毕后,在feature分支点击Git工作流后,出现如下提示

img

点击完成当前项目,出现提示,默认会在完成功能后删除feature分支,会自动进行分支合并

img

4.3.3 建立新的发布版本

默认从develop分支新建

img

在release分支点击Git工作流后,出现如下提示

img

点击完成当前项目,会出现如下信息,需要给发布的版本打tag同时默认删除release分支

img

然后Git工作流会在master上打tag,并重新回到develop分支

4.3.4 建立新的修复补丁

人无完人,bug永无止境,很可能刚发布一个tag,就忽然发现一个重大问题需要紧急修复

img

bug修复完毕后,在hotfix分支点击Git工作流后,出现如下提示

img

点击完成当前项目,会出现如下信息,需要给发布的补丁打tag同时默认删除hotfix分支

img

最后仓库的状态

img

标准模式的Git flow会自动进行分支的新建删除,整个过程如下

img

4.4 代码维护

  • 操作建议:多人协作开发项目,每次推送代码前,都执行拉取操作
  • 巧用贮藏:拉取失败不要紧张,三步走:1、贮藏本地代码,2、拉取更新,3、应用贮藏
  • 解决冲突:当发现有若干文件有冲突时,一定不能盲目合并代码,请和产生冲突的代码推送人一起解决

4.4.1 提交代码

将需要提交的代码加入已暂存文件,填写提交信息,点击提交即可

img

4.4.2 贮藏代码

遇到无法推送的情况,git会提示需要先提交或者贮藏你的本地代码,这时候就用到了贮藏代码功能

可能会多次使用此功能,建议为每次操作都填写信息用于区分,可以勾选保留缓存的变更,那本地代码不会有变动,贮藏区域会把当前的变更保存,此选项默认是不勾选的

img

点击贮藏后,就恢复到了上一次提交,且已贮藏会显示保存的内容

特别说明:未加入版本管理的文件不会被贮藏

已贮藏列表中选中需要应用的信息,右键,可以应用贮藏,会出弹窗确认此操作

img

4.4.3 遴选 cherry-pick

  • 把需要的功能选中,然后遴选

img

  • 顺利合上去了

img

4.5 搜索

多维度搜素代码

img

5 自动生成CHANGELOG

5.1 安装插件

npm install -g conventional-changelog-cli
cd my-project
conventional-changelog -p angular -i CHANGELOG.md -s

5.2 添加脚本

"scripts": {
   "changelog": "conventional-changelog -p angular -i CHANGELOG.md -s -r 0"
 },

5.3 生成文件

npm run changelog

参考资料

Releases

No releases published

Packages

No packages published