Git 使用全流程复习
今天来公司报道, 收到了一个 Git 仓库地址:
git@gitee.com:leetc/xxx.git
代码平台: gitee.com/
你去熟悉一下代码, 完成一个小功能, 提交
1. 代码平台注册账号
-
如果使用的是 gitee / github 这些平台就自行注册账号
-
但大部分公司都有自己内部的代码平台, 他们会给你分配账号
账号: xxx@xxx.com 密码: xxx
2. 配置 SSH 公钥
-
生成秘钥对
输入以下命令, 敲击三次回车
ssh-keygen -t rsa -C "你的邮箱" -
用 vscode 打开公钥
路径
C:\用户\用户名\\.ssh\id_rsa.pubssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQCeltU31o+kpaC9EqO5oJGFrH28p9iiJL00qHXu7Km9rDsYSjGWdCD23OQUI7cHS0fvjSNpdS5KkFdTRut45vlFM0k1eFmVxKXHVfRcuoQu7vdsBuZxVKpL/xwAkzh3ffjVd4Woj7dksKM/nLsZOS5WYNu8oALCjWi+UYIqKNl7OP8B/+Pl7AkdI90PzfTLvf1231+d/3GYVDJ5yAH10SIhYh0m5o12ewu0yOLccejuCmFfz5pET6/QPwi3J7nN8dQEt0EqpsfsM4PDkosvoulHBW24sYHw/VlEMH5LplLRwJ7vNC2BNpmyc1oJVy0nTXm3hTS74aTz3ZVvlDDH5+BaNteGPUh50pZUeNDPyRm0ixL4qEgxZX7p6fhH2ywzSUe/VFVcWkxI/bLqiLiL0= 6634284@qq.com -
将公钥全选-复制-粘贴到代码平台的 ssh 配置中
- 打开代码平台
- 找到个人设置
- 找到 ssh key 配置
- 添加一个公钥
- 将刚刚复制的公钥粘贴进来保存
3. 下载代码
-
将远程仓库的代码下载到本地
//clone master分支 git clone git@gitee.com:xxx/xxx.git //clone指定分支 -b 指定分支名 git clone -b template git@gitee.com:xxx/xxx.git -
发现只有一个默认分支 master
git branch -
需要将远程的开发分支 develop 拉取下来
- 在本地建分支
git checkout -b develop- 拉取远程分支 (不要在 master 分支直接拉取 develop 分支的代码)
# 每次拉取都需要指定远程仓库名和分支名 git pull 远程仓库名 分支名注意: 以上 2 行命令可以合并写做一行
git checkout -b develop origin/develop拓展: 设置 git pull 默认拉取的分支
git branch --set-upstream-to=origin/develop develop
4. 写代码提交
-
新建一个功能分支
分支的命名取决于公司的命名规范
git checkout -b xiaolong-login -
完成开发需求
-
暂存提交本地
git add . git commit -m "修改了登录页面xxx" -
将分支提交到远程
第一次提交分支, 需要加 -u 指定仓库名 指定分支名
git push -u origin xiaolong-login -
报告老大, 做 code review (代码审查)
-
老大告诉你 OK 了
-
你有权限合并
切换回 develop 分支
合并 xiaolong-login 分支
git checkout develop git merge xiaolong-login推送到远程
git push -
你没有权限合并
老大来合并
-
基本原则
- 勤拉取
- 勤提交
- 勤合并
去公司之后每天早上第一件事
git pull
常见问题
- Git 仓库不能嵌套
- git clone 命令是将仓库克隆到当前目录, 所以拉下来以后一定要 cd 进去
继续深造
- git rebase
- squash
- git fetch
- PR Pull Request
本文转载