Git多人协作开发快速上手
Git账号配置
全局配置(修改)用户名和邮箱
git config --global user.name "你的用户名"
git config --global user.email "你的邮箱地址"
#验证配置是否成功
git config --list
#删除全局配置
git config --global --unset user.name
git config --global --unset user.email
Git仓库SSH密钥配置
检查是否已有ssh密钥
#在git bash中使用
ls -al ~/.ssh
本地生成ssh密钥
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
生成过程中提示密钥保存路径以及密码,全都直接按回车(Enter)键
路径默认就在C:\Users\user_name\.ssh\中,不输入密码更方便
公钥就是 id_rsa.pub 文件
生成密钥后将公钥复制到远程仓库平台,例如GitHub、
GitHub:进入 Settings > SSH and GPG keys > 点击 New SSH key,粘贴公钥并保存
测试SSH连接ssh -T git@github.com
看到类似 Hi username! You've successfully authenticated 或 Welcome to GitLab, @username! 的提示信息,说明密钥配置成功
刚来公司,mentor说你去平台把项目拉下来,你负责某个模块怎么快速上手呢?
- 把master分支拉本地,
git clone - 创建功能特性分支(千万不要在
master分支上写代码),git checkout -b feature/your_module - 日常开发,先用
git add .将修改的文件加入暂存区;再用`git commit -m "your log"提交代码 - 首次推送到远程
git push -u origin feature/your_module,设置完成后只需要简单的git push或git pull就会到相应远端同步可以使用git branch -vv查看分支追踪状态
开发了功能,该如何合并到master分支?master分支有了新的提交该如何合并到我的功能分支?
每天开发前,同步master的最新代码
目的:确保你的代码基于最新环境,把冲突化整为零
推荐操作:使用rebase,保持提交历史干净
# 1. 确保干净的工作区,将保存、提交的“藏起来”
git stash -u
# 2. 拉取远端最新代码
git fetch origin
# 3. 确保当前在你的特性分支上
git checkout feature/your_module
# 4. 将你的分支变基到最新的 master 上
git rebase origin/master
# 5. 将“藏起来”的复原
git stash pop
注:如果提示有冲突,解决冲突后执行 git add . 然后 git rebase --continue。
开发完成,将代码合并回master
目的:正式交付代码,通常配合代码评审(PR/MR)进行
推荐操作:在远端平台发起合并请求,或者在本地使用 merge。
# 1. 切换到 master 分支
git checkout master
# 2. 再次拉取远端 master 的最新代码(防止合并瞬间别人又提交了)
git pull origin master
# 3. 将你的特性分支合并到 master
git merge feature/your_module
# 4. 将合并后的 master 推送到远端
git push origin master
注:以上是本地merge方法。远端平台的合并请求在网页端进行操作。合并前最好先同步master,解决冲突。
浙公网安备 33010602011771号