随着可能写的小的代码越来越多,每次都从本地的文件夹里面找到最原始的数据,然后翻来覆去的看,还记不得每次更新都在更新哪些内容,而且最重要的是没法做网页端的同步,这样就很受限制于我有没有随时带着我的电脑。趁着最近稍微有点时间,就稍微学习一下代码的管理,目前看来大家学的最多的还是Git(从B站的点播量来看),所以在这里稍微记录一下自己学习的内容。
在windows上安装Git
到网站上去下载客户端,然后一直点击next安装就可以了,无毒无害可以傻瓜式直接一步安装使用。
https://git-scm.com/download/win
初次运行Git前的配置
用户信息
第一个要配置的是你个人的用户名称和电子邮件地址。这两条配置很重要,每次 Git 提交时都会引用这两条信息,说明是谁提交了更新,所以会随更新内容一起被永久纳入历史记录:
$ git config --global user.name "John Doe"
$ git config --global user.email johndoe@example.com
如果用了 --global 选项,那么更改的配置文件就是位于你用户主目录下的那个,以后你所有的项目都会默认使用这里配置的用户信息。如果要在某个特定的项目中使用其他名字或者电邮,只要去掉 --global 选项重新配置即可,新的设定保存在当前项目的 .git/config 文件里。
获取帮助
有以下的三种方式去获得使用的帮助:
$ git help <verb>
$ git <verb> --help
$ man git-<verb>
比如如果要获得config命令怎么使用,可以用:
$ git help config
取得项目的Git库
从现有的仓库进行克隆
如果想对某个开源项目出一份力,可以先把该项目的 Git 仓库复制一份出来,这就需要用到 git clone 命令。
隆仓库的命令格式为 git clone [url]。比如,要克隆 Ruby 语言的 Git 代码仓库 Grit,可以用下面的命令:
$ git clone git://github.com/schacon/grit.git
这会在当前目录下创建一个名为grit的目录,其中包含一个 .git 的目录,用于保存下载下来的所有版本记录,然后从中取出最新版本的文件拷贝。如果进入这个新建的 grit 目录,你会看到项目中的所有文件已经在里边了,准备好后续的开发和使用。如果希望在克隆的时候,自己定义要新建的项目目录名称,可以在上面的命令末尾指定新的名字:
$ git clone git://github.com/schacon/grit.git mygrit
唯一的差别就是,现在新建的目录成了 mygrit,其他的都和上边的一样。
Git 支持许多数据传输协议。之前的例子使用的是 git:// 协议,不过你也可以用 http(s):// 或者 user@server:/path.git 表示的 SSH 传输协议。
记录每次的更新到仓库
这里比较适合团队合作的时候,多人提交任务后,对于任务的更新的查看十分有用,对于个人,最重要的是做好每次提交的注释记录
在本地进行初始化
$ git init
项目初始化后在那个项目文件夹里有个文件“.git”
这个文件存储的是当前项目的所有版本信息
检查当前文件状态
$ git status
# On branch master
nothing to commit (working directory clean)
跟踪新文件
使用命令 git add 开始跟踪一个新文件。所以,要跟踪 README 文件,运行:
$ git add README
或者直接使用
$ git add *
把当前文件夹内的所有文件和非空文件夹设置为准备提交的状态,也就是放入暂存区。文件得先从工作区提交到暂存区,然后再上传到远程仓库。暂存区是Git特别有意思也有用的一个提交方式,本次不做过多说明。
暂存区 => 远程仓库
git remote add origin https://github.com
(上面的地址填写的是你自己的暂存区地址,我用一个链接代替)
git push -u origin master
注提交过程中可能需要你提交用户名和密码,但是一般只用提交一次就可以记住了。
提交更新
现在的暂存区域已经准备妥当可以提交了。在此之前,请一定要确认还有什么修改过的或新建的文件还没有 git add 过,否则提交的时候不会记录这些还没暂存起来的变化。所以,每次准备提交前,先用 git status 看下,是不是都已暂存起来了,然后再运行提交命令 :
$ git commit -m 'XXXX'
另外也可以用 -m 参数后跟提交说明的方式,在一行命令中提交更新.
移除文件
要从 Git 中移除某个文件,就必须要从已跟踪文件清单中移除(确切地说,是从暂存区域移除),然后提交。可以用 git rm 命令完成此项工作,并连带从工作目录中删除指定的文件,这样以后就不会出现在未跟踪文件清单中了。
$ git rm