2019-08-08-1901100244-自学训练营-Python入门-Day01-学习心得

学员信息

  • 学号:1901100244
  • 操作系统:Windows 10 version 1903 (64-bit)
  • 学习内容:GitHub 的基本使用
  • 学习用时:4 小时

收获总结

  1. 明确了使用 Git 和 GitHub 的目的——Git 用于版本控制,GitHub 用于网络协作;
  2. 掌握了拉取请求(Pull Request)相关的操作;
  3. 了解了 GitHub 的工作流程。

遇到的难点与问题

1. “任务2.3 在 develop 分支中创建一个名为 develop.txt 的文件,提交一个 commit”

  1. 创建文件的操作方式在“参考资料1”中没有;
  2. 新手在尝试创建 develop.txt 时可能会漏掉“.txt”,应予强调;
  3. 底部“Commit changes”区的提交信息(a commit message)比较重要,不填写或仅依靠默认内容有可能导致无法提交,造成困扰,应予强调;
  4. “提交一个 commit”表意不明,“commit”本身含义即为“提交”,这一词原本还没有名词词性(GitHub 直接把它当名词用了),故原文的写法令人难以理解,考虑上下文及用例(make a commit、add commits,参见 https://guides.github.com/introduction/flow/ ),可改为:“填写相关说明(在页面底部),并提交新文件(Commit new file)”,或者:“填写相关说明(在页面底部),并创建一个提交(commit)”;

2. “任务2.4 从 develop 提交一个 Pull Request 到 master 分支,并将其合并(merge)”

  1. “develop”写为“develop 分支”比较好,避免误解;
  2. 拉取请求(Pull Request)是 GitHub 协作的核心操作之一,但这个词理解起来颇费思量,简单的解释可以是“请求代码合并”、“请求对方拉你的代码”( 参见 https://www.zhihu.com/question/21682976 ),比较详尽的解释建议参考 GitHub 官方的说明网页( https://guides.github.com/introduction/flow/ );
  3. “(merge)”写为“(Merge)”比较好,与页面一致。

3. “任务3 在 GitHub 的仓库中提交 Issue”

Issue 的位置与“参考资料2”中的截图不一致,应是 GitHub 改版导致的,寻觅了一小会儿。

4. “任务4.2 通过 下载地址 安装 Github Desktop 桌面客户端,完成后登录自己的账户”

  1. “GitHub Desktop”已经有“桌面”的含义,再说“桌面客户端”有语意重复之嫌,或写为“GitHub Desktop 客户端”即可;
  2. GitHub Desktop 登录后如果没有克隆任何仓库到本地的话,主菜单出不来,很难找到登出的地方(我错误地登录了一个旧账号,故需要登出),Google 后了解到,可以通过按快捷键 Ctrl + , 进入 Options 完成登出操作。

5. “任务4.4 在本地电脑的 hello-world 仓库中创建一个名为 local.txt 的文本文件”

  1. “文本文件”或应写为“文本文档”,与 Windows 的表述一致。
  2. 为了避免建立扩展名错误的文件(如local.txt.txt),应将文件资源管理器设置为显示文件扩展名(【查看】→勾选【文件扩展名】)

6. “任务4.5 通过 Github Desktop 将本地仓库新增的文本文件提交为一个 commit”

“提交一个 commit”和“提交为一个 commit”有什么区别?两种表述法都很不清晰,建议改写,或可写为:“填写相关说明(在软件左下角),并提交(Commit to master)”。

7. “任务5.3 通过 Github Desktop 将自己账户下 fork 的作业仓库 clone 到本地电脑”

  1. 这一步耗时甚久,大约 180 MB 的文件,下载速度只有 10~20 KB/s,前后花了约两个小时,手册应该对这种情况予以提醒;

  2. Google 了一下,知道了出现这种情况的实际原因—— GitHub 相关的一些域名被限制了(如 http://github.global.ssl.fastly.net);

  3. 不同人给了不同的解决方案,如:改 hosts,利用开源中国提供的代码仓库(码云 Gitee)转移,给 GitHub Desktop 设置代理;

  4. 个人认为相对彻底的解决方案应该是 GitHub Desktop 整体走代理,方法有两种,一是开 VPN,二是配置 GitHub Desktop;

  5. 考虑眼下的实际情况,VPN 不算靠谱,所以就只能配置 GitHub Desktop 了,试验发现,GitHub Desktop 不从系统设置中取代理服务器,用修改配置文件的方法才能设置代理

  6. Windows 版 GitHub Desktop 设置代理的方法如下:
    i. 用文本编辑器打开 C:\Users\<UserName>\.gitconfig 文件,注意 <UserName> 要换成自己的账户,或者直接搜索“.gitconfig”也可以,这个文件只有扩展名,开头就是一个“.”;
    ii. 在文件末尾添加代理信息,SOCKS5 代理类似这样:

    1
    2
    3
    4
    [http]
    proxy = socks5://127.0.0.1:1080
    [https]
    proxy = socks5://127.0.0.1:1080

    HTTP 代理类似这样:

    1
    2
    3
    4
    [http]
    proxy = http://127.0.0.1:1080
    [https]
    proxy = http://127.0.0.1:1080

    其中127.0.0.1是代理地址,1080是端口号,proxy前面有一个制表符(Tab),注意,这里的代理地址仅为范例,以具体情况为准。

  7. macOS 版 GitHub Desktop 的 .gitconfig 文件在 ~/,可以在终端(Terminal)用 Vim 打开文件并编辑,步骤为:
    i. 在终端(Terminal)输入 vi ~/.gitconfig 并回车;
    ii. 按i键进入插入(insert)编辑模式;
    iii. 在文件末尾添加代理信息,格式和 Windows 的一样;
    iv. 按ESC键退出插入编辑模式,输入:wq,回车保存。
    这部分参考了:https://www.jianshu.com/p/5e74b1042b70

  8. 对比
    i. 设置前
    GitHub_Desktop_设置代理前
    ii. 设置后
    GitHub_Desktop_设置代理后

总结

  • 搞清楚“拉取请求(Pull Request,简称 PR)”的目的和意义
  • GitHub Desktop 进入 Option 的方法
  • GitHub Desktop 代理设置