![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
工具
stevejobs007
屌丝学渣一枚
展开
-
github之创建版本库及一些简单命令
一、 版本库又名仓库,英文名repository,你可以简单理解成一个目录,这个目录里面的所有文件都可以被Git管理起来,每个文件的修改、删除,Git都能跟踪,以便任何时刻都可以追踪历史,或者在将来某个时刻可以“还原”。所以,创建一个版本库非常简单, 第一步:首先,选择一个合适的地方,创建一个空目录:$ mkdir learngit$ cd learngit$ pw转载 2015-04-14 11:34:43 · 581 阅读 · 0 评论 -
github之Bug分支
总结:修复bug时,我们会通过创建新的bug分支进行修复,然后合并,最后删除;当手头工作没有完成时,先把工作现场git stash一下,然后去修复bug,修复后,再git stash pop,回到工作现场。 软件开发中,bug就像家常便饭一样。有了bug就需要修复,在Git中,由于分支是如此的强大,所以,每个bug都可以通过一个新的临时分支来修复,修复后转载 2015-04-15 20:36:58 · 556 阅读 · 0 评论 -
github之删除文件
在github中删除文件:一般情况下,你通常直接在文件管理器中把没用的文件删了,或者用rm命令删了:$ rm test.txt这个时候,Git知道你删除了文件,其实你现在是在工作区删了,所以,工作区和版本库就不一致了,git status命令会立刻告诉你哪些文件被删除了:$ git status# On branch master# Changes not stag转载 2015-04-15 11:05:15 · 974 阅读 · 0 评论 -
github之Feature分支
重点:开发一个新feature,最好新建一个分支;如果要丢弃一个没有被合并过的分支,可以通过git branch -D 强行删除。软件开发中,总有无穷无尽的新的功能要不断添加进来。添加一个新功能时,你肯定不希望因为一些实验性质的代码,把主分支搞乱了,所以,每添加一个新功能,最好新建一个feature分支,在上面开发,完成后,合并,最后,删除该feat转载 2015-04-15 20:41:32 · 1156 阅读 · 0 评论 -
github之添加远程库
重点“1.要关联一个远程库,使用命令git remote add origin git@server-name:path/repo-name.git;git@server-name:path/repo-name.git可以在guthub网站中找到,如下图2.关联后,使用命令git push -u origin master第一次推送master分支的所有内容;3转载 2015-04-15 15:51:20 · 510 阅读 · 0 评论 -
github之分支管理策略
通常,合并分支时,如果可能,Git会用Fast forward模式,但这种模式下,删除分支后,会丢掉分支信息。如果要强制禁用Fast forward模式,Git就会在merge时生成一个新的commit,这样,从分支历史上就可以看出分支信息。下面我们实战一下--no-ff方式的git merge:首先,仍然创建并切换dev分支:$ git checkout -b d转载 2015-04-15 19:49:21 · 572 阅读 · 0 评论 -
github之忽略特殊文件
有些时候,你必须把某些文件放到Git工作目录中,但又不能提交它们,比如保存了数据库密码的配置文件啦,等等,每次git status都会显示“Untracked files ...”,有强迫症的童鞋心里肯定不爽。好在Git考虑到了大家的感受,这个问题解决起来也很简单,在Git工作区的根目录下创建一个特殊的.gitignore文件,然后把要忽略的文件名填进去,Git就会自动忽略这些文件。转载 2015-04-16 10:07:10 · 516 阅读 · 0 评论 -
github之分支管理, 创建与合并分支
一、分支管理 分支在实际中有什么用呢?假设你准备开发一个新功能,但是需要两周才能完成,第一周你写了50%的代码,如果立刻提交,由于代码还没写完,不完整的代码库会导致别人不能干活了。如果等代码全部写完再一次提交,又存在丢失每天进度的巨大风险。现在有了分支,就不用怕了。你创建了一个属于你自己的分支,别人看不到,还继续在原来的分支上正常工作,而你在自己的分支上干活转载 2015-04-15 16:54:06 · 2554 阅读 · 0 评论 -
github之多人协作
重点:多人协作的工作模式通常是这样:首先,可以试图用git push origin branch-name推送自己的修改;如果推送失败,则因为远程分支比你的本地更新,需要先用git pull试图合并;如果合并有冲突,则解决冲突,并在本地提交;没有冲突或者解决掉冲突后,再用git push origin branch-name推送就能成功!转载 2015-04-16 09:19:16 · 474 阅读 · 0 评论 -
github之远程库克隆
上次我们讲了先有本地库,后有远程库的时候,如何关联远程库。现在,假设我们从零开发,那么最好的方式是先创建远程库,然后,从远程库克隆。首先,登陆GitHub,创建一个新的仓库,名字叫gitskills:我们勾选Initialize this repository with a README,这样GitHub会自动为我们创建一个README.md文件。创建完毕后,可转载 2015-04-15 16:08:14 · 388 阅读 · 0 评论 -
github之管理修改,撤销修改
场景1:当你改乱了工作区某个文件的内容,想直接丢弃工作区的修改时,用命令git checkout -- file。场景2:当你不但改乱了工作区某个文件的内容,还添加到了暂存区时,想丢弃修改,分两步,第一步用命令git reset HEAD file,就回到了场景1,第二步按场景1操作。场景3:已经提交了不合适的修改到版本库时,想要撤销本次提交,参考版本回退一节,不过前提是没转载 2015-04-15 08:56:33 · 1248 阅读 · 0 评论 -
版本控制系统之集中式与分布式
CVS及SVN都是集中式的版本控制系统,而Git是分布式版本控制系统。集中式和分布式版本控制系统有什么区别呢? 先说集中式版本控制系统,版本库是集中存放在中央服务器的,而干活的时候,用的都是自己的电脑,所以要先从中央服务器取得最新的版本,然后开始干活,干完活了,再把自己的活推送给中央服务器。中央服务器就好比是一个图书馆,你要改一本书,必须先从图书馆借出来,然后回到家自己改,改完转载 2015-04-14 10:57:27 · 698 阅读 · 0 评论 -
github之工作区和暂存区
Git和其他版本控制系统如SVN的一个不同之处就是有暂存区的概念。先来看名词解释。工作区(Working Directory):就是你在电脑里能看到的目录,比如我的learngit文件夹就是一个工作区:版本库(Repository):工作区有一个隐藏目录.git,这个不算工作区,而是Git的版本库。Git的版本库里存了很多东西,其中最重要的就是称为stage转载 2015-04-15 00:02:37 · 471 阅读 · 0 评论 -
github之版本回退
重点:HEAD指向的版本就是当前版本,因此,Git允许我们在版本的历史之间穿梭,使用命令git reset --hard commit_id。穿梭前,用git log可以查看提交历史,包括提交的时间,作者,和提交是的说明(即-m 命令后的内容),以便确定要回退到哪个版本。要重返未来,用git reflog查看命令历史,查到每次提交的id号,即commit转载 2015-04-14 20:30:48 · 3475 阅读 · 0 评论 -
github之别名
有没有经常敲错命令?比如git status?status这个单词真心不好记。如果敲git st就表示git status那就简单多了,当然这种偷懒的办法我们是极力赞成的。我们只需要敲一行命令,告诉Git,以后st就表示status:$ git config --global alias.st status好了,现在敲git st看看效果。当然还有别的命令转载 2015-04-16 10:13:27 · 904 阅读 · 0 评论 -
github之远程仓库
这个世界上有个叫GitHub的神奇的网站,从名字就可以看出,这个网站就是提供Git仓库托管服务的,所以,只要注册一个GitHub账号,就可以免费获得Git远程仓库。在继续阅读后续内容前,请自行注册GitHub账号。由于你的本地Git仓库和GitHub仓库之间的传输是通过SSH加密的,所以,需要一点设置:第1步:创建SSH Key。在用户主目录下,看看有没有.ssh目录,如果有,再看看这个目转载 2015-04-15 15:21:06 · 576 阅读 · 0 评论 -
github之标签操作
重点:命令git push origin 可以推送一个本地标签;命令git push origin --tags可以推送全部未推送过的本地标签;命令git tag -d 可以删除一个本地标签;命令git push origin :refs/tags/可以删除一个远程标签。如果标签打错了,也可以删除:$ git ta转载 2015-04-16 09:39:39 · 608 阅读 · 0 评论 -
github之解决冲突
人生不如意之事十之八九,合并分支往往也不是一帆风顺的。准备新的feature1分支,继续我们的新分支开发:$ git checkout -b feature1Switched to a new branch 'feature1'修改readme.txt最后一行,改为:Creating a new branch is quick AND simple.在feat转载 2015-04-15 18:49:44 · 4302 阅读 · 0 评论 -
github之使用github
我们一直用GitHub作为免费的远程仓库,如果是个人的开源项目,放到GitHub上是完全没有问题的。其实GitHub还是一个开源协作社区,通过GitHub,既可以让别人参与你的开源项目,也可以参与别人的开源项目。在GitHub出现以前,开源项目开源容易,但让广大人民群众参与进来比较困难,因为要参与,就要提交代码,而给每个想提交代码的群众都开一个账号那是不现实的,因此,群众也仅限于报个bug转载 2015-04-16 09:45:10 · 779 阅读 · 0 评论 -
github之搭建Git服务器
搭建Git服务器2464次阅读在远程仓库一节中,我们讲了远程仓库实际上和本地仓库没啥不同,纯粹为了7x24小时开机并交换大家的修改。GitHub就是一个免费托管开源代码的远程仓库。但是对于某些视源代码如生命的商业公司来说,既不想公开源代码,又舍不得给GitHub交保护费,那就只能自己搭建一台Git服务器作为私有仓库使用。搭建Git服务器需要准备一台运行Linux的机器,转载 2015-04-16 10:15:28 · 682 阅读 · 0 评论 -
github之标签管理
重点:命令git tag 用于新建一个标签,默认为HEAD,也可以指定一个commit id;git tag -a -m "blablabla..."可以指定标签信息;git tag -s -m "blablabla..."可以用PGP签名标签;命令git tag可以查看所有标签 发布一个版本时,我们通常先在版本库转载 2015-04-16 09:25:16 · 631 阅读 · 0 评论