自己一直没系统的学过 git 命令相关的知识,更别说 hub 命令了。
学到用时方恨少,最近想弄一个叫 caffe_future 的开源项目,安装的门槛都过不去 ToT 。请各位不吝赐教,帮我解释下面几个命令是在干嘛:
多谢了,附带原始文档~
https://github.com/longjon/caffe/blob/future/future.sh
顺便问问, github 使用的入门经典有什么
1
Bensendbs 2015-08-20 16:39:19 +08:00 1
|
2
582033 2015-08-20 16:39:31 +08:00 1
1 切换分支
2 删除分支 3 创建分支 4 未知 |
3
sparkrat 2015-08-20 16:43:59 +08:00 1
@582033 第三个是创建并切换分支, 创建分支的命令是 "git branch feature " 233333 第四个命令是什么鬼?
|
4
ehs2013 2015-08-20 16:44:00 +08:00 2
hub 是 GitHub 出的对 git 命令的扩展,这个命令就代表 merge GitHub pull request
|
5
coolwdp 2015-08-20 16:46:45 +08:00 1
|
6
Alexisused 2015-08-20 16:55:32 +08:00 1
|
7
zerh925 2015-08-20 17:02:39 +08:00 1
入门:廖雪峰
进阶: ProGIt 2 |
8
minfzhon 2015-08-20 18:20:46 +08:00 via iPhone 1
切换分支,删除分支,新建分支。 github 上有个交互式教程, 18 个步骤把 git 的基础讲得特别清楚,可以去看看
|
9
adrianzhang 2015-08-20 20:24:49 +08:00 3
Git 是版本管理,所以把一系列版本的文件(随时间变化,源代码文件夹里总是在变化的,每个 commit 叫做一个版本,意思是把当前的代码情况当成一个版本)做快照放仓库里。 Git 的仓库设计为分布式。好吓人的名词,对吗?其实说起来特别简单。所谓仓库,就是.git 文件夹。所谓分布式,就是在参与项目的每个人那里都有个一样的.git 文件夹。在一个源(也就是所谓“ git 服务器”)上,执行以下命令:
$ mkdir source $ cd source $ git init 运行完毕后,在 source 文件夹下就有了.git 文件夹( Git 仓库)。接着执行: $ touch test.txt $ git add test.txt $ git commit test.txt 执行这些命令后,.git 文件夹里就存储了 source/test.txt 这个情况的一个快照,作为一个版本。如果此时我们在源这个服务器上建立了 web 服务,然后允许别人从这个仓库里下载代码去做开发,那么这个源就成了 GitHub 功能的服务器。假设这个服务器是我的,命名为 adrian , Git 库的网址是 https://adrian.com/source 现在,你来了,要跟我一起开发,于是你执行了 git clone 。假设你用 mysource 作为存储代码的文件夹,那么现在你的机器上 mysource/.git 跟我机器上的 source/.git 完全一样。这就是分布式仓库。 好了,解释你的问题: git checkout master git branch -D future git checkout -b future hub merge https://github.com/BVLC/caffe/pull/1976 继续拿刚才那例子说明。你做了 git clone 以后, git 软件自动把你本地的.git 文件夹里当成初始分支(branch ) 命名为: master 。 git checkout master #就是切换到 master 分支 git checkout -b future #你想开发点功能,但是你改一点,别人改一点,会乱,怎么办?建立一个分支,等功能开发好了,合并到主代码去。这个命令就是新建一个分支 future 并将当前的工作切到这个分支里去,从此,你在 mysource/文件夹下做的更改通过 commit ,影响的都是 future 这个分支。假设你接着在 mysource 文件夹下增加了一个文件 test2.txt ,那么 git add, git commit 后, future 这个分支有了版本 2 。 git branch -D future #删除刚才建立的 future 分支。这样你便回到了 master 分支,此刻 mysource 文件夹里刚才建立的 test2.txt 已经不见了,这是因为 master 分支里只有最初始的版本,而没有版本 2. hub merge https://github.com/BVLC/caffe/pull/1976 #这句是干什么?是说 git merge 吗? git merge 就是将你的改动合并到进来。比如刚才如果没删 future 分支,先执行 git checkout master ,回到 master 分支去,然后执行 git merge future ,那么 future 的版本 2 就被合并到 master 里去了。 通常,是建立一个分支,合并到主分支,然后删除新建的分支这样的流程。 至于其他的概念,你看 Git 官方手册吧。 http://git-scm.com/book/zh/v1/%E8%B5%B7%E6%AD%A5 |
10
joshz 2015-08-20 20:50:14 +08:00 1
廖雪峰的教程写得很好,基本点总结得到位,一天内就可以快速掌握。当然要深入还是要看书,推荐《 pro git 》
|