Git学习心得
一开始只是上课的时候简单的上传代码。add,commit,push 三部曲大家大会。老师教的时候再学个pull,解决一下冲突就默认你领悟了。一般用git都是个人作业,连解决冲突都用不上。我真正接触项目了以后才是一脸懵逼。弄了很久绕了很多也不是很明白。后来有一天突然顿悟了,可能突然打通任督二脉了。
Git要和ssh配合使用,这里就只说git了。
基本概念
Git是一款开源的分布式的版本控制系统。字面上看起来比较难懂,这样会比较好理解,就是save/load,随时存档读取,做项目有如打boss,打之前存个档,打不过读个档,也就是所谓的版本控制了。分布式也就是它有远程和本地,方便你备份和与别人合作。
简单命令
初始化 git init
这个命令在你当前目录下生成git仓库,简单来说就是,初始化以后,这个文件夹就拥有了git的功能了。 有的人(比如我)刚开始就会把这个命令搞混了,什么时候需要初始化呢,就是这个文件夹不是git文件夹的时候,简单来说,就是当前目录下没有.git隐藏包。
当你从Github上clone一个项目下来的时候,它本身是已经是git项目了,就不需要初始化了。
那么问题来了!当你从别人的github上clone一个项目到本地,你怎么上传到自己远程的git仓库呢。
首先你要想清楚为什么需要clone别人的项目,如果只是为了本地操作,就不需要做任何变动了。 有的人(比如我)在开始的时候并不懂git环境的时候,简单直白的在当前环境下git init了。它会提示你该项目重新初始化然而没什么用。
你需要删除掉本地的.git隐藏包,然后重新git init,在push的时候配置下远程仓库的地址,然后就可以上传到自己的远程仓库了。
还有一种更简单的方法,就是使用github的fork功能。fork功能提供了一个备份到你的远程仓库,这个时候再clone到本地,配置就都没有问题了。这种方法应该算是正确的官方方法。
git clone
拷贝远程的项目到本地,就像之前所说的拷贝后本地目录本身就是配置好git的git仓库。有一点需要注意的是,git clone后项目并不在当前目录,clone后会有一个新的目录生成,在之后的目录里才有.git文件夹。