向github提交代码与使用还是挺麻烦的,这里记录一下,以免以后再提交代码忘记。

1.点击fork,就可以从主干fork出一个自己在github的远程库。

 github 提交代码指南

2. 使用github自带客户端,建立本地local库

github 提交代码指南

这样很自然的就建立了local的库,并且自动建立了origin和apache两个远程库。

3. 在下载好代码的路径下,右键,选择Git Bash here。打开git控制台界面

4. 这里就可以使用git的所有命令。讲一下github的分支框架:

apache master--------origin master ------ local master

这三个分支都不要向其中添加任何内容,而只是更新内容就行。这一点非常重要,因为master的不变性,可以保证有任何问题

我们可以直接从master分支拉取一个新的分支,随时可以修改和提交。master分支不能被污染。

5. 以上三个分支的更新。

在git的客户端我们只能处理local的代码。

从 origin 更新到 local : git pull origin master

从apache更新到 local  :git pull apache master

从apache更新到origin(最常见使用) : git pull apache master;git push origin master

6. 本地拉取分支 git checkout master;git branch xxx;

7. 向本地master提交代码,建议使用客户端:

github 提交代码指南

选好提交的内容,点击提交就可以了。

注意,这里只是提交到local分支上。在origin分支无任何内容。

8. 将本地local内容提交到origin。

如果远端无该分支: 使用图形界面:

github 提交代码指南

有该分支,有两种方案

1.    git push origin xxx

2. 使用图形界面:

github 提交代码指南

则都可以将本地xxx分支,提交到origin的xxx分支。

9. pr的时候,一定记得将origin的xxx分支,提交到apache的master分支,在github上操作

github 提交代码指南

github 提交代码指南

这样提交到内容不会影响到本地和origin的master分支。该pr被拒绝,和master分支完全没有关系。

10. 在分支xxx提交前,远端apache master分支已经做了修改。

git checkout master;

git pull apache master;--本地master合并apache的最新修改

git push origin master;---合并到orign master上

git checkout xxx;

git rebase master;---将远端的master修改,放到xxx分支的提交下面,xxx分支的提交在最新

使用第8步骤的方法,向远端origin xxx分支提交。

11. 多次提交记录的合并

pr希望的是commit个数是1.本地进行了多次的commit,需要合并成1条:git rebase -i HEAD ~ 3 合并最近的3条提交记录

但是,rebase必须在git push之前做,因此这点务必要小心。git push后做rebase,会导致git混乱。



相关文章: