0、git初识
首先,在github或者码云上面创建项目,复制远端仓库链接此处复制HTTPS协议。当然我们也可以使用ssh,两者区别:
ssh url:需要在本地配置ssh key,这也意味着我们必须是开发者或者具有一定的权限,每次代码同步(主要是push和clone)不需要进行用户名和密码的输入操作;
https url:相比ssh宽松些,但是我们在每次同步代码都要输入密码和用户名,当然我们也可以想办法省去输密码和用户名。我们可以在本地新建一个文件,用来存储用户名和密码,只需要在第一次clone输入用户名和密码,这些信息将会被保存,以后就自动读取,不需要在手动输入。运行【git config --global credential.helper store】第一次输入密码,以后就不需要了;具体详情请看博客点我、如何免密码
1、git使用三板斧
(1)git add + xxx 把文件xxx放到本地仓库暂存区,就是放到隐藏文件 .git
(2)git commit -m "xxxxx" 给上述文件添加日志xxxxxx
(3)git push (如果初次上传出错的话,试一下git push origin master)
2、git的其他操作
(1) git pull :在远端仓库对文件进行修改之后,终端输入git pull 其实就是在本地及时更新文件内容。
(2)git diff :查看本地文件和远端仓库文件区别。
(3)git status :查看当前文件状态。
(4)git log :查看提交日志。
3、版本管理
当我们想要回退到文件某个版本这时 git log 就上场了;输入可以看到提交记录,如下
如果先输出的太多,可以加选项 --pretty=oneline参数
圈起来的一长串字符就是commit id(版本号),和svn不一样,git的版本号不是1,2,3等一些数字,而且我们所看到的版本号肯定不一样,那为什么git版本号这么一长串字符?因为git是分布式版本控制系统,在后台有很多人开发的环境下,如果我们使用1,2,3等,那岂不是冲突了。
回退:git reset --hard + 版本号 测试:新创建三个版本如下:
查看创建日志:
版本回退:很明显内容发生改变
再次查看版本号:
现象:怎么版本3的commit id不见了,难道我们回不去版本三了吗?
没事,如果版本3的id没有被冲刷掉,还可以使用,但如果我们可开发很久了怎么办?
使用 git reflog 可以看到我们每一次的执行命令:如下,又回来了