1. 初始化
# 克隆一个和远端一模一样的仓库 git clone https://github.com/example/example.git
2.修改代码(新建分支)
我们不直接在原来的main分支上进行修改,而是创建一个新的分支。
# 新建(并切换到) my-feature分支 git checkout -b my-feature
3.修改代码
编辑代码,进行修改。然后提交修改后的代码到git。
# 查看更改 git diff # 添加文件 git add <修改的文件> # 提交 git commit
将本地更改推送到远程(github)
【可能出现的情况】 main分支更新了
- 更新本地的main分支
# 切换到main分支 git checkout main # 拉取最新的main分支 git pull origin main
- 更新main分支的更改到 my-feature分支
# 切换到my-feature分支 git checkout my-feature # 切换到新的main分支,并应用my-feature的修改。可能会有冲突,需要手动解决。 git rebase main
推送自己的分支到远程(github)
# 推送分支到远程 git push -f origin my-feature
合并my-feature分支到main分支(Pull Requrest, PR)
项目拥有者在github上使用Squash and merge
合并分支,然后在github删除my-feature分支
Squash:将提交分支上的所有commit合并成一个,保持main分支简介
然后我们完成了该分支的提交,在本地删除该分支:
#切换main分支 git checkout main # 删除my-feature分支 git branch -D my-feature # 拉去最新的main分支 git pull origin main