本文共 1691 字,大约阅读时间需要 5 分钟。
Git是目前世界上最先进的分布式版本控制系统(没有之一)。
Git有什么特点?简单来说就是:高端大气上档次!
如果你用Microsoft Word写过长篇大论,那你一定有这样的经历:
想删除一个段落,又怕将来想恢复找不回来怎么办?
有办法,先把当前文件“另存为……”一个新的Word文件,再接着改,改到一定程度,再“另存为……”一个新文件,这样一直改下去,最后你的Word文档变成了这样:
来自网络的图片
过了一周,你想找回被删除的文字,但是已经记不清删除前保存在哪个文件里了,只好一个一个文件去找,真麻烦。
看着一堆乱七八糟的文件,想保留最新的一个,然后把其他的删掉,又怕哪天会用上,还不敢删,真郁闷。
更要命的是,有些部分需要你的财务同事帮助填写,于是你把文件Copy到U盘里给她(也可能通过Email发送一份给她),然后,你继续修改Word文件。一天后,同事再把Word文件传给你,此时,你必须想想,发给她之后到你收到她的文件期间,你作了哪些改动,得把你的改动和她的部分合并,真困难。
于是你想,如果有一个软件,不但能自动帮我记录每次文件的改动,还可以让同事协作编辑,这样就不用自己管理一堆类似的文件了,也不需要把文件传来传去。如果想查看某次改动,只需要在软件里瞄一眼就可以,岂不是很方便?
这个软件用起来就应该像这个样子,能记录每次文件的改动:
版本 | 文件名 | 用户 | 说明 | 日期 |
---|---|---|---|---|
1 | test.doc | 张三 | 创建文件 | 2018年2月10日 21:12:52 |
2 | test.doc | 李四 | 增加项目要求 | 2018年3月1日 12:27:22 |
3 | test.doc | 王五 | 修改项目要求 | 2018年3月10日 20:29:15 |
这样,你就结束了手动管理多个“版本”的史前时代,进入到版本控制的20世纪。
创建SSH KEY:
ssh-keygen -t rsa -C "youremail@example.com"
用户主目录.ssh
目录,里面有id_rsa
和id_rsa.pub
两个文件id_rsa
是私钥,不能泄露,id_rsa.pub
是公钥
在Github上创建一个新仓库
克隆到本地:git clone git@github.com:xxxx
文件修改增加到暂存区git add filename
当前文件夹所有文件都增加到暂存区git add .
提交更改:git commit -m "modified what"
本地修改提交到远程仓库master分支(默认分支)git push origin master
git push -u origin master
或者git push -u
查看git日志:git log
本地回退到某个版本
git reset --hard log_id
本地回退更新到远程仓库
git push -f origin master
更新你的本地仓库至最新改动,执行:
git pull
查看当前分支
git branch
或者git branch -a
新建分支
git branch debug
创建一个叫做“feature_x”的分支,并切换过去:
git checkout -b feature_x
切换分支:
git checkout master
删除分支:
git branch -d feature_x
分支推送到远程仓库
git push origin <branch>
合并其他分支到当前分支(例如 master),执行:
git merge <branch>
增加标签,如1b2e1d63ff版本为1.0.0 :
git tag 1.0.0 1b2e1d63ff
假如你操作失误(当然,这最好永远不要发生),你可以使用如下命令替换掉本地改动:
git checkout -- <filename>
此命令会使用 HEAD 中的最新内容替换掉你的工作目录中的文件。已添加到暂存区的改动以及新文件都不会受到影响。
历史精选文章:
欢迎大家关注
或微信扫码关注我的公众号
转载地址:http://jwtpx.baihongyu.com/