随笔分类 -  Git教程

摘要:安装完成,进入Git Bash命令设置名字和email地址 --global 表示本机器上所有git仓库都会使用这个配置 $ git config --global user.name "Your Name" -- 设置名字 $ git config --global user.email "ema 阅读全文
posted @ 2020-09-23 01:50 短戈行 阅读(123) 评论(0) 推荐(0)
摘要:终于到了期末总结的时刻了! 经过几天的学习,相信你对Git已经初步掌握。一开始,可能觉得Git上手比较困难,尤其是已经熟悉SVN的童鞋,没关系,多操练几次,就会越用越顺手。 Git虽然极其强大,命令繁多,但常用的就那么十来个,掌握好这十几个常用命令,你已经可以得心应手地使用Git了。 友情附赠国外网 阅读全文
posted @ 2020-09-22 20:23 短戈行 阅读(59) 评论(0) 推荐(0)
摘要:当我们对Git的提交、分支已经非常熟悉,可以熟练使用命令操作Git后,再使用GUI工具,就可以更高效。 Git有很多图形界面工具,这里我们推荐SourceTree,它是由Atlassian开发的免费Git图形界面工具,可以操作任何Git库。 首先从官网下载SourceTree并安装,然后直接运行So 阅读全文
posted @ 2020-09-22 20:21 短戈行 阅读(148) 评论(0) 推荐(0)
摘要:在远程仓库一节中,我们讲了远程仓库实际上和本地仓库没啥不同,纯粹为了7x24小时开机并交换大家的修改。 GitHub就是一个免费托管开源代码的远程仓库。但是对于某些视源代码如生命的商业公司来说,既不想公开源代码,又舍不得给GitHub交保护费,那就只能自己搭建一台Git服务器作为私有仓库使用。 搭建 阅读全文
posted @ 2020-09-22 20:19 短戈行 阅读(101) 评论(0) 推荐(0)
摘要:有没有经常敲错命令?比如 git status ? status 这个单词真心不好记。 如果敲 git st 就表示 git status 那就简单多了,当然这种偷懒的办法我们是极力赞成的。 我们只需要敲一行命令,告诉Git,以后 st 就表示 status : $ git config --glo 阅读全文
posted @ 2020-09-22 20:14 短戈行 阅读(144) 评论(0) 推荐(0)
摘要:有些时候,你必须把某些文件放到Git工作目录中,但又不能提交它们,比如保存了数据库密码的配置文件啦,等等,每次 git status 都会显示 Untracked files ... ,有强迫症的童鞋心里肯定不爽。 好在Git考虑到了大家的感受,这个问题解决起来也很简单,在Git工作区的根目录下创建 阅读全文
posted @ 2020-09-22 17:19 短戈行 阅读(137) 评论(0) 推荐(0)
摘要:在安装Git一节中,我们已经配置了 user.name 和 user.email ,实际上,Git还有很多可配置项。 比如,让Git显示颜色,会让命令输出看起来更醒目: $ git config --global color.ui true 这样,Git会适当地显示不同的颜色,比如 git stat 阅读全文
posted @ 2020-09-22 17:14 短戈行 阅读(117) 评论(0) 推荐(0)
摘要:使用GitHub时,国内的用户经常遇到的问题是访问速度太慢,有时候还会出现无法连接的情况(原因你懂的)。 如果我们希望体验Git飞一般的速度,可以使用国内的Git托管服务——Gitee(gitee.com)。 和GitHub相比,Gitee也提供免费的Git仓库。此外,还集成了代码质量检测、项目演示 阅读全文
posted @ 2020-09-22 17:12 短戈行 阅读(288) 评论(0) 推荐(0)
摘要:我们一直用GitHub作为免费的远程仓库,如果是个人的开源项目,放到GitHub上是完全没有问题的。其实GitHub还是一个开源协作社区,通过GitHub,既可以让别人参与你的开源项目,也可以参与别人的开源项目。 在GitHub出现以前,开源项目开源容易,但让广大人民群众参与进来比较困难,因为要参与 阅读全文
posted @ 2020-09-22 16:49 短戈行 阅读(135) 评论(0) 推荐(0)
摘要:如果标签打错了,也可以删除: $ git tag -d v0.1 Deleted tag 'v0.1' (was f15b0dd) 因为创建的标签都只存储在本地,不会自动推送到远程。所以,打错的标签可以在本地安全删除。 如果要推送某个标签到远程,使用命令 git push origin <tagna 阅读全文
posted @ 2020-09-22 16:43 短戈行 阅读(123) 评论(0) 推荐(0)
摘要:在Git中打标签非常简单,首先,切换到需要打标签的分支上: $ git branch * dev master $ git checkout master Switched to branch 'master' 然后,敲命令 git tag <name> 就可以打一个新标签: $ git tag v 阅读全文
posted @ 2020-09-22 16:18 短戈行 阅读(138) 评论(0) 推荐(0)
摘要:发布一个版本时,我们通常先在版本库中打一个标签(tag),这样,就唯一确定了打标签时刻的版本。将来无论什么时候,取某个标签的版本,就是把那个打标签的时刻的历史版本取出来。所以,标签也是版本库的一个快照。 Git的标签虽然是版本库的快照,但其实它就是指向某个commit的指针(跟分支很像对不对?但是分 阅读全文
posted @ 2020-09-22 15:53 短戈行 阅读(117) 评论(0) 推荐(0)
摘要:在上一节我们看到了,多人在同一个分支上协作时,很容易出现冲突。即使没有冲突,后push的童鞋不得不先pull,在本地合并,然后才能push成功。 每次合并再push后,分支变成了这样: $ git log --graph --pretty=oneline --abbrev-commit * d1be 阅读全文
posted @ 2020-09-22 15:27 短戈行 阅读(156) 评论(0) 推荐(0)
摘要:当你从远程仓库克隆时,实际上Git自动把本地的 master 分支和远程的 master 分支对应起来了,并且,远程仓库的默认名称是 origin 。 要查看远程库的信息,用 git remote : $ git remote origin 或者,用 git remote -v 显示更详细的信息: 阅读全文
posted @ 2020-09-22 15:21 短戈行 阅读(191) 评论(0) 推荐(0)
摘要:软件开发中,总有无穷无尽的新的功能要不断添加进来。 添加一个新功能时,你肯定不希望因为一些实验性质的代码,把主分支搞乱了,所以,每添加一个新功能,最好新建一个feature分支,在上面开发,完成后,合并,最后,删除该feature分支。 现在,你终于接到了一个新任务:开发代号为Vulcan的新功能, 阅读全文
posted @ 2020-09-22 14:29 短戈行 阅读(149) 评论(0) 推荐(0)
摘要:软件开发中,bug就像家常便饭一样。有了bug就需要修复,在Git中,由于分支是如此的强大,所以,每个bug都可以通过一个新的临时分支来修复,修复后,合并分支,然后将临时分支删除。 当你接到一个修复一个代号101的bug的任务时,很自然地,你想创建一个分支 issue-101 来修复它,但是,等等, 阅读全文
posted @ 2020-09-20 22:17 短戈行 阅读(100) 评论(0) 推荐(0)
摘要:通常,合并分支时,如果可能,Git会用 Fast forward 模式,但这种模式下,删除分支后,会丢掉分支信息。 如果要强制禁用 Fast forward 模式,Git就会在 merge 时生成一个新的 commit ,这样,从分支历史上就可以看出分支信息。 下面我们实战一下 --no-ff 方式 阅读全文
posted @ 2020-09-20 21:21 短戈行 阅读(121) 评论(0) 推荐(0)
摘要:人生不如意之事十之八九,合并分支往往也不是一帆风顺的。 准备新的 feature1 分支,继续我们的新分支开发: $ git switch -c feature1 Switched to a new branch 'feature1' 修改 readme.txt 最后一行,改为: Creating 阅读全文
posted @ 2020-09-20 21:11 短戈行 阅读(130) 评论(0) 推荐(0)
摘要:在版本回退里,你已经知道,每次提交,Git都把它们串成一条时间线,这条时间线就是一个分支。截止到目前,只有一条时间线,在Git里,这个分支叫主分支,即 master 分支。 HEAD 严格来说不是指向提交,而是指向 master , master 才是指向提交的,所以, HEAD 指向的就是当前分支 阅读全文
posted @ 2020-09-20 16:09 短戈行 阅读(117) 评论(0) 推荐(0)
摘要:分支就是科幻电影里面的平行宇宙,当你正在电脑前努力学习Git的时候,另一个你正在另一个平行宇宙里努力学习SVN。 如果两个平行宇宙互不干扰,那对现在的你也没啥影响。不过,在某个时间点,两个平行宇宙合并了,结果,你既学会了Git又学会了SVN! 分支在实际中有什么用呢?假设你准备开发一个新功能,但是需 阅读全文
posted @ 2020-09-20 15:57 短戈行 阅读(109) 评论(0) 推荐(0)