为什么推荐科研工作使用git
每个人都会犯错,而使用Git 的最大好处就在于,几乎在所有的情况下你都能“撤消” 你的错误操作。比如如果你忘记了把一个小小的改动包含进来,因此你要改正你的上个提交。又或者你想要撤销一个完整的提交,因为这个功能有可能是不必要的。当发生了很严重的错误时,你甚至可以通过恢复引用日志来让一个提交不可见。
我一开始使用git干什么事情
一开始是用来保存我的matlab代码,有时候做实验的时候,一改动函数就忘了之前改了哪里,这让人很烦恼!
后面用github作为静态服务器,再买了一个域名,搭建了自己的第一个博客。再后来,全面转向了python,天天写代码。过去一年提交了1879次,一周基本有6天是在写代码的,我其实放假挺多的(暂时不是996),只是放假后也会坐下来,写下代码。
git与github的关系
git和github的关系是:github是基于git的一个仓库托管平台;GitHub是一个面向开源及私有软件项目的托管平台,因为只支持Git作为唯一的版本库格式进行托管,故名GitHub,而Git是一个开源的分布式版本控制系统,可以有效、高速的处理从很小到非常大的项目版本管理。
你还可以选择国内的仓库托管平台:gitee、coding等。
开始-使用github的一些步骤、教程
具体的教程,网上很多!
以下是我记录的一些步骤,忘记的话,我就会看下这些步骤。
设置git的用户名和密码
点击开始菜单》git-bash打开命令窗口,输入下列命令,将双引号中内容替换成自己的用户名和密码。
git config --global user.name "你的名字"
git config --global user.email "你的邮箱"
创建本机的ssh Key
在git Bash窗口中输入下列命令,创建本电脑的ssh Key
ssh-keygen -t rsa -C "你的邮箱"
输入后一路回车。
注意这段代码里有一个文件地址:/c/Users/Administrator/.ssh/,这个就是SSH Key文件夹了,打开文件夹找到id_rsa.pub,用记事本打开它,复制下来。
在github账号中填写公钥
按照下图步骤,依次点击Setting》SSH and GPG keys进入SSH Key设置页面
这台电脑就可以向github提交代码了。
在github中创建仓库
点击New repository进入仓库创建页面,然后填写仓库名称,其他内容可不填,直接保存
点击New SSH key新增SSH keys,title可以随意填写,Key填写刚刚复制的内容,然后保存。
将本地仓库与github仓库关联
在本地新建一个文件夹,和github仓库名称一致。 然后选中本地仓库文件夹,右键选择git Bash打开git命令窗口。使用git init命令初始化,在本地工作区中创建一个git隐藏目录。 然后使用如下命令即可关联,注意将origin后面的地址换成你自己的github地址。
git remote add origin git@github.com:xxxxx.git
提交代码
为了检验是否能正常提交,可在文件夹中放入一个txt测试文件。 git有一个工作区和暂存区。工作区就是我们在电脑上看见的文件夹,工作区有一个隐藏的目录.git,这个是版本库。版本库中分为暂存区和master分支。提交代码的时候,我们需要先将工作区的代码提交到暂存区,再从暂存区同步到master分支。 所以第一步使用git add命令将本地工作区的文件添加待提交的文件。git add .表示添加文件夹中的所有文件,一般都是用这个命令一次性添加。 接下来使用git commit -m"描述文字"将添加的文件提交到暂存区。 最后,使用git push origin master同步到github远程仓库。
以后每次提交代码,只需重复以下命令:
git add .
git commit -m"提交描述"
git push origin master
第一次使用git的push命令时,会出现如下警告:
The authenticity of host 'github.com (xx.xx.xx.xx)' can't be established.RSA key fingerprint is xx.xx.xx.xx.xx.Are you sure you want to continue connecting (yes/no)?
这是github的安全验证,直接输入yes即可,下次就不会有提示了。
GIT 常用命令(参考)
github优劣
github优点:
很多好的项目是开源的,都放在了github,方便去学习观摩
github缺点(对个人):
1.国内访问速度太慢,经常出现connect time-out
2.不能很好的解决GB2312/GBK,对中文不够友好
完
今天简单安利一下git,科研是很适合用git的,先从简单的入手,遇到问题再去网上搜。
关注我,分享更多好玩、有用的东西!!
peace