Git和Github学习2————Pull Requests


所有的操作对应一行代码

准备工作

  1. 将仓库拷贝到本地
git clone [email protected]:username/filename.git
cd file
  1. 查看克隆下来的仓库分支
  2. 新建work分支并切换到该目录,work相当于filename的镜像仓库
git branch -a
git checkout -b work filename
  1. 查看上述是否成功,查看文件列表,并根据自己需要修改代码
git branch -a
ls
  1. 查看操作记录,不是commit
  2. 查看修改记录
  3. 添加到“执行队列”
  4. 执行,并添加说明
git status
git diff
git add somefile.txt
git commit -m "information"
  1. 创建本地work相对应的远程分支
  2. 查看分支信息
git push origin work
git branch -a

发送请求

  1. 登陆网站,查看提交,修改内容,确认是否无误
  2. 点击Create Pull Request
  3. 填写请求方采纳的评论、发送,对方目标仓库会新建Pull Requests和Issue
  4. 也可以直接在网页上,在目标仓库下,点击New pull requests,附上小段代码即可。ps:要多看大神的源代码,参与到关键性的讨论中去!!

仓库的维护

因为clone的远程仓库和原fork的远程仓库无关,需要将原仓库视为远程仓库
从别人那里fork的原始仓库更新了,可以照着下边1-4步执行,即可更新自己的本地仓库和远程仓库

  1. 查看远程主机状态
  2. 设置远程仓库名为upstream
git remote -v
git remote add upstream [email protected]:username/filename.git
  1. 获取最新数据
  2. 将远程仓库的master分支数据和当前仓库合并
git fetch upstream
git merge upstream/master

注意
自己的远程仓库如果有旧版本的话,可以先clone下来,再进入到文件目录

git clone [email protected]:yourname/yourfile.git
cd yourfile

将本地合并后的仓库push到自己的远程仓库,即可三地同步

本地反映Pull Requests

  1. 更新接收方的本地仓库
git clone ......
cd ....
  1. 获取发送方的远程仓库
git remote add PR发送者 [email protected]:PR发送者/file.git
git fetch PR发送者
  1. 创建用于检查的分支(避免两个仓库冲突)
git checkout -b afile
  1. 远程仓库分支work和本地新建的afile分支仓库合并
git merge PR发送者/work
  1. 删除分支,在外部文件查看是否已更新
git branch -D afile
  1. 切换到自己的仓库分支
  2. 合并到自己的仓库
git checkout bfile
git merge PR发送者/work
  1. 推送修改的内容,更新自己的远程仓库
git diff origin/bfile
git push

ps:github仓库的pull Request会自动从open变为close

小结

  1. 如果只有几行代码的修改,直接网页上合并,再更新到本地
  2. 涉及多个文件时,再用CLI走上边的流程

关于Github的学习,致谢

  1. 《GitHub入门与实践》
  2. 廖雪峰学习网站

编程自学者,求指导: https://github.com/BigBugBoy

你可能感兴趣的:(Git和Github学习2————Pull Requests)