这是在使用Git时的一些感触和小结。
为什么要使用Git
当你的代码改动时,你不想每次都去做注释,或者说每次要手动复制文件夹备份一下,这样很麻烦。为了能够写出干净的代码,不要的东西就大胆删去,有了Git完全就可以这样做。
总体流程
初始仓库
首先需要创建一个仓库。。。。【TODO,下次创建新仓库的时候再写吧】,一种是从0开始创建,另一种是对已有的文件夹添加Git版本控制
从已有文件夹中创建
切换到该文件夹下,输入$ git init初始化仓库,此时会有默认的master分支

$ git add .和git commit将当前文件夹下的文件添加到仓库,如果有文件不想添加,提前写好.gitignore文件
这样,本地仓库已经创建好了,如果要添加远程库,首先需要在GitHub上创建一个远程库(不要add readme和许可证),然后通过git remote add origin 远程仓库地址 的方式关联远程库,可以使用$ git remote -v命令查看是否添加了远程库,接下来就可以通过$ git push origin branch-name将本地的分支推送到远程仓库了. 如果需要修改分支名,可以使用$ git branch -M oldname newname。
操作流程
其实使用的流程很简单。将每一次备份都添加到一个新分支里,这样也不考虑要合并冲突的问题了。
1 | 查看分支 |
Git ignore文件的编写
在你的项目文件夹下,除了代码文件,当然还会有各种各样的数据和结果文件,这就导致整个工程会很大,一般来说,原始数据是不会变的,而结果是可以重新生成的,因此在Git上不会备份原始数据和结果。这就需要去编写ignore文件。
步骤分为两步:
找一个对应你项目代码的模板,比如可以搜matlab ignore文件模板
在此基础上,再根据自己的需要选择保存或者不保存什么文件
示例如下:
1 | ##--------------------------------------------------- |
切换到以前的版本和回到未来的版本
首先使用git log命令查看提交记录,获取版本 ID:

然后使用git reset --hard ID回退到指定版本,这里的ID可以只输入前面几位

如果要回到最新版本,只需git reset --hard ID就可以了,这里的ID是最新版本的ID
如果忘记了最新版本的ID,可以使用git relog来查看
比较分支
利用Github上的Compare页面,我们可以很方便的比较两个分支的差异,具体做法为:在浏览器地址栏输入:
https://github.com/dzxia920/Calf-INS/compare/2489d10..19fed71
其格式为:
https://github.com/用户名/仓库名/compare/分支1..分支2
参考:
常用的Git命令
- 查看远程库
1 | $ git remote [-v | --verbose] |
git remote会列出每个远程库的简短名字,git remote -v会列出详细信息
- 将本地分支推送到远程主机
1 | $ git push <远程主机名> <本地分支名>:<远程分支名> |
例如:$ git push origin master表示,将本地的master分支推送到远程origin主机的master分支,如果远程master分支不存在,则会被新建。
- 分支操作
1 | $ git branch |
- 查看当前有哪些分支:
$ git branch - 新建一个
dev分支:$ git branch dev - 切换到指定的
dev分支:$ git checkout dev - 查看远程和本地分支:
git branch -a - 删除远程分支
dev:git push origin --delete dev - 修改分支dev的名字:
git branch -M dev2 version2
…