用户工具

站点工具


dev:git_github

差别

这里会显示出您选择的修订版和当前版本之间的差别。

到此差别页面的链接

后一修订版
前一修订版
dev:git_github [2022/10/30 17:56] – 创建 admindev:git_github [2022/11/01 21:19] (当前版本) admin
行 11: 行 11:
  
 在本地电脑安装Git。下载网址:[[https://git-scm.com/downloads | Git Downloads]] 在本地电脑安装Git。下载网址:[[https://git-scm.com/downloads | Git Downloads]]
 +
 +==== 特别注意:CRLF设定 ====
 +
 +<wrap em>MT4和MT5的代码文件默认编码是UTF-16 LE,这将会使GitHub在代码提交时判定mq4、mq5、mqh是二进制文件,导致无法在GitHub阅读代码、无法进行diff比较。</wrap>
 +
 +解决办法:
 +
 +1,把Git的CRLF自动变换设定为false。方法有三,哪个都行:
 +  安装Git客户端时,指定改行变换为Checkout as-is, commit as-is
 +  在Git Bash执行:git config --global core.autocrlf false
 +  修改Git配置文件~/.ginconfig:autocrlf = false
 +
 +2,新建MT4和MT5代码文件时,把编码改为UTF-8。
 +
 +备注:经测试,包含中文的代码文件改为GB2312编码提交,包含日语的代码文件改为Shift-JIS编码提交,即使CRLF自动变换设定为true,也可以正常提交。但是GB2312和Shift-JIS编码文件阅读不便,放弃这个方案。
 +
 +3,为mt4,mt5建立的库,只在windows系统编辑和提交。
  
 ===== 初始化本地库(方案1 - 本地无文件需加入或合并) ===== ===== 初始化本地库(方案1 - 本地无文件需加入或合并) =====
行 52: 行 69:
 ===== 撤销修改 ===== ===== 撤销修改 =====
  
-==== 情况1:还没将变更从工作区加入到暂存区(还没执行 git add) ====+<wrap em>情况1:还没将变更从工作区加入到暂存区(还没执行 git add)</wrap>
  
 撤销某个或者某几个文件的修改: 撤销某个或者某几个文件的修改:
行 64: 行 81:
 此命令不会删除掉刚新建的文件。因为刚新建的文件还没已有加入到 git 的管理系统中,所以对于git是未知的。 此命令不会删除掉刚新建的文件。因为刚新建的文件还没已有加入到 git 的管理系统中,所以对于git是未知的。
  
-==== 情况2:已将变更加入到暂存区(已经执行 git add)+<wrap em>情况2:已将变更加入到暂存区(已经执行 git add)</wrap>
  
 撤销某个或者某几个文件的修改: 撤销某个或者某几个文件的修改:
行 76: 行 93:
 要注意的是,执行以上命令后,本地的修改并不会消失,而只是从暂存区回到了工作区,即第一种情况下所示的状态。继续用第一种情况下的操作,就可以放弃本地的修改。 要注意的是,执行以上命令后,本地的修改并不会消失,而只是从暂存区回到了工作区,即第一种情况下所示的状态。继续用第一种情况下的操作,就可以放弃本地的修改。
  
-==== 情况3:已将代码提交到本地仓库(已经执行 git commit)+<wrap em>情况3:已将代码提交到本地仓库(已经执行 git commit)</wrap>
  
 此时工作区已经clean,若想撤销之前的修改,需要执行版本回退操作: 此时工作区已经clean,若想撤销之前的修改,需要执行版本回退操作:
行 90: 行 107:
  
 可以使用 git log 或 git reflog 命令来查看git的提交历史,获取commit_id. 可以使用 git log 或 git reflog 命令来查看git的提交历史,获取commit_id.
 +
 +===== 获取历史版本 =====
 +
 +先初始化本地库:
 +  参考上方【初始化本地库】。
 +
 +查看提交日志,每个提交放在一行显示,在浏览大量的提交时非常有用:
 +  git log --pretty=oneline
 +
 +指定某个ID取得对应的历史版本:
 +  git checkout ID
 +
  
 ===== 其他命令 ===== ===== 其他命令 =====
dev/git_github.1667123795.txt.gz · 最后更改: 2022/10/30 17:56 由 admin