git的使用方法

之前已经建立了ssh key并添加到了github中,

因此现在直接使用

ssh -T git@github.com 命令连接到github

比如现在要把本地的SICP习题上传至github上

那么先cd到习题目录所在位置

使用git init 命令初始化git仓库

然后在目录中进行想要的文件添加和修改

git add <username>  添加文件

git commit -m "version" 提交修改 ,增加参数-a可以跳过git add过程,直接提交,但是如果有新增的文件的话不适用

git remote add <remote-name> <url>  添加远程仓库

此外,可以使用git branch <branch-name> 新建分支,然后使用 git checkout <branch-name> 进入该分支下。

当然以上两步可以直接用一部代替,只要加个参数-b就可以了,例如git branch -b <branch-name>这样。

git merge <branch-name>将某个分支合并到当前分支,当然关于分支的这个问题很有讲究所以有非常多的东西要讲,以后再深入讨论。


最后使用 git push <remote-name>   <branch-name> 将 本地分支推送到远程仓库

当然也可以将本地分支的名字在推送到远程仓库时进行重命名

比如 git push <remote-name> <branch-name>:<new-branch-name>  ,加个冒号就行了!

这是上传的远程仓库的过程

下面是用远程仓库更新本地仓库

首先介绍git clone操作

假设某个大牛有一个项目,我们需要把它的所有项目文件下载到本地,那么我们使用下面的命令

git clone <url> <local-dir>   

然后cd到本地仓库的目录,这个时候会发现本地仓库中只有一个分支master

我们使用git branch -a 命令可以查看到远程分支

既然这个分支是远程分支,那么我们需要提取下来

使用上面提到过的命令稍微修改一下

git checkout  - b <new-branch> <remote-name>/<branch-name>

其实git clone操作是将远程仓库中的所有文件都复制一份到本地

那如果在本地仓库已经存在下,如何将远程仓库更新至本地仓库呢?

我们有git fetch以及git pull 两个命令

git pull比git fetch高级

git pull 是将远程仓库的文件下载至本地然后进行merge

而git fetch只是将远程的仓库更新至本地但不进行merge,就像clone时那样,他将分支全部定义为remote/branch

需要手动选择进行合并,因此git fetch在一定意义上是安全的

git pull/fetch <remote-name> <branch-name> ,branch-name可加可不加


这次差不多就学了这么点,更深入的下次再看

 

posted on 2013-10-16 12:04  我的小人生  阅读(151)  评论(0编辑  收藏  举报