Github提交PullRequest

心不动则不痛 提交于 2020-03-09 20:41:36

Github提交PullRequest工作流程:

以Kubernetes为例

 

1.   Fork Kubernetes到自己的Github目录

访问:https://github.com/kubernetes/kubernetes

点击Fork,就可以在自己的Github目录下找到kubernetes这个项目了。

这里以https://github.com/edisonxiang/kubernetes为例。

 

2.   下载代码到本地工作目录

git clone https://github.com/edisonxiang/kubernetes.git

 

3.   设置代码的UpStream原始目录

cd kubernetes

git remote add upstream https://github.com/kubernetes/kubernetes.git

# Never push to upstream master
git remote set-url --push upstream no_push

# Confirm that your remotes make sense
git remote -v

 

4.   在本地获取最新的UpStream版本

cd kubernetes

git fetch upstream

git checkout master

git rebase upstream/master

 

5.   分支新branch并提交修改(类似OpenStack社区)

cd kubernetes

# Add new branch myfeature

git checkout -b myfeature

# Add Commit Message File

vi .git/message

# Add User Email and User Name

git config --global user.email "xiang.edison@gmail.com"

git config --global user.name "edisonxiang"

# Add or Modify files in kubernetes

......

# 提交到Git本地

git add .

# 完成Commit

添加:git commit -a -F .git/message  

修改:git commit --amend -a -F .git/message

修改:git commit -m "Modify some thing"

# 输入Github用户名和密码提交本地的修改到自己的Github项目中

git push -f https://github.com/edisonxiang/kubernetes myfeature

# 更新本地代码到个人仓库

git push origin master

  # 删除个人仓库的分支

  git push origin :myfeature

  # Rebase未合入的PR到个人仓库

  git fetch upstream pull/56136/head:BRANCHNAME

  # 有时需要将琐碎的多个commit结合起来形成这一个需求的完整commit。

 

  # 这时就需要使用git squash来整理压缩message。

  git log 查看下日志,并判断需要将多少个日志合并

  git rebase -i HEAD~6 把顶部的六个版本聚到一起进入编辑页面

  把需要压缩的日志前面的pick都改为s(squash的缩写)

  注意必须保留一个pick,如果将所有的pick都改为了s那就没有合并的载体了就会报如下错误

  依次输入CTRL+X Y ENTER三个命令完成编辑。

  最后Git Push orgin branchname 

 # Cancel current local changes

  git checkout .

  git checkout localfile 

6.   访问自己的Github项目创建Pull Request

访问自己的Github地址:https://github.com/edisonxiang/kubernetes

在新上传的Branch上,点击Compare & Pull Request按钮创建一个Pull Requst

 

最后在https://github.com/kubernetes/kubernetes/pulls就可以找到刚刚提交的Pull Request。

printenv

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!