一个关于前端、产品、设计、绘画的情侣博客

Git 工作流介绍

G

Git 简介

Git 是目前世界上最先进的分布式版本控制系统。

使用多个 SSH Key

平时基本上至少会用两个以上的 git 平台,例如个人项目使用 Github 或国内的码云,工作项目则使用内部基于 Gitlab 的系统,这里我们最好为每个平台生成单对应的密钥。

首次生成

配置全局 name 与 email

git config --global user.name "<name>"
# eg: git config --global user.name "millylee"

git config --global user.email "<email>"
# eg: git config --global user.email "millylee@qq.com"

生新 SSH 密钥

ssh-keygen -t rsa -C "<email>"
# eg: ssh-keygen -t rsa -C "millylee@qq.com"

如果是个人电脑直接一路回车即可,最后得到 id_rsaid_rsa.pub,将 id_rsa.pub 添加到对应网站即可,可以使用以下命令测试是否成功。

ssh -T git@<domain>
# eg: ssh -T git@github.com

第二次生成

要以管理员身份启动命令行工具

ssh-keygen -t rsa -C <email> -f ~/.ssh/<filename>
# eg: ssh-keygen -t rsa -C millylee@qq.com -f ~/.ssh/gitee

# 提示不存在文件时,就去 ~/.ssh/ 目录下新建文件
touch gitee

让 Git 记住密码

由于 https 协议比 ssh 传输速度快,所以正常情况我们可能都使用这种方式,但 https 默认不会记住密码,所以可以根据实际情况进行如下配置减少每次 push 时的繁琐操作。

git config --global credential.helper cache # 默认记住15分钟
git config credential.helper 'cache --timeout=3600' # 记住1小时
git config --global credential.helper store # 永久存储

换行符设置

不同操作系统下的换行符不一样,UNIX/Linux 使用的是 LF,早期 Mac OS 使用的是 CR,后来的 OS X 也与 UNIX 一致,而 Windows 下则使用 CRLF。由于 Git 会自动进行换行符转换,如果同一个项目在不同平台下开发,那么提交的时候则无论有没有修改代码,文件的所有行都会显示被修改过。这里建议使用如下配置:

git config --global core.autocrlf input # 提交时转换成 LF,检出时不转换;为 true 时表示提交转换为 LF,检出时转换为 CRLF;为 false 表示提交检出均不转换

git config --global core.safecrlf true # 拒绝提交包含混合换行符的文件;为 false 表示允许提交混合换行符的文件;为 warn 表示提交混合换行符文件时发出警告

提交到多个仓库

有时候我们想把代码提交到多个仓库,这里介绍两种方法。

方法一:添加多个远程仓库

git remote add origin <url1>
git remote add origin2 <url2>

# 提交到多个仓库
git push origin master
git push origin2 master

使用这种方法需要多次 push,相对来说比较麻烦。

方法二:一个远程仓库多应多个地址(推荐)

git remote add origin <url1> 
git remote set-url --add origin <url2>

使用的时候 git push origin master 即可一次性提交到多个远程地址,但 git pull 只能拉取 <url> 中的第一个,即 fetch-url

关于作者

Milly

擅长 Adobe 旗下软件,Ai、Fw、Fl、Br、Ae、Pr、Id 等的安装与卸载,精通 CSS、JavaScript、PHP 等单词的拼写。「从个性签名被模仿回忆我的十年互联网生涯」https://www.sawlove.com/ten-years-internet-life.html

添加评论

由 Milly
一个关于前端、产品、设计、绘画的情侣博客

分类

文章归档