Git工具的使用

By Starstok

Git工具的使用

1.使用Git clone命令从github上同步github上的代码库时,

如果使用SSH链接(如我自己的OTA项目:git clone git@github.com/Starstok/OTA.git),

而你的SSH key没有添加到github帐号设置中,系统会报下面的错误:

Permission denied (publickey).

fatal: The remote end hung up unexpectedly

这时需要在本地创建SSH key,然后将生成的SSH key文件内容添加到github帐号上去。

创建SSH key的方法很简单,执行如下命令就可以:

ssh-keygen

然后系统提示输入文件保存位置等信息,连续敲三次回车即可,生成的SSH key文件保存在中~/.ssh/id_rsa.pub

然后用文本编辑工具打开该文件,我用的是vim,所以命令是:

vim ~/.ssh/id_rsa.pub
或者
gedit ~/.ssh/id_rsa.pub

接着拷贝.ssh/id_rsa.pub文件内的所有内容,将它粘帖到github帐号管理中的添加SSH key界面中。

打开github帐号管理中的添加SSH key界面的步骤如下:

1. 登录github

2. 点击右上方的Accounting settings图标

3. 选择 SSH key

4. 点击 Add SSH key

在出现的界面中填写SSH key的名称,填一个你自己喜欢的名称即可,然后将上面拷贝的~/.ssh/id_rsa.pub文件内容粘帖到key一栏,在点击“add key”按钮就可以了。

添加过程github会提示你输入一次你的github密码

添加完成后再次执行git clone就可以成功克隆github上的代码库了。

以上内容来自:
http://blog.csdn.net/keyboardota/article/details/7603630

2.使用git工具提交源码

用终端进入要提交源码的当前目录

git init                                                  //创建一个空的 Git 版本库或重新初始化一个已存在的版本库

git add *                                                   //添加当前目录所以的文件到git库

git commit -m "first commit"                                //第一次提交,-m 的参数是提交修改的备注

git remote add origin https://github.com/Starstok/OTA.git   //远程到Starstok的OTA项目

git push -u origin master                                   //把源码推到master分支

根据提示:分别输入用户名,密码

3.在同一个库(Repository)下,创建多个分支,并且提交源码到新建的分支

git init

git add *

git commit -m "first commit"

git branch               //查看当前库的所以分支

git branch test          //新建名为test的分支

git branch               //再次查看确认是否建立新分支

git checkout test        //切换到test分支

git push -u origin test  //把源码推到test分支

4.怎么样删除推到github分支下的源码

git init

git rm  README.md                //删除git下的readme.md

git init

git commit -m "first commit"     //更新git库

git push -u origin master        //把源码推到master分支

5.出现以下错误解决方法

To https://github.com/Starstok/Starstok.github.io.git ! [rejected]  master -> master (fetch first)

error: 无法推送一些引用到 'https://github.com/Starstok/Starstok.github.io.git'

提示:更新被拒绝,因为远程仓库包含您本地尚不存在的提交。这通常是因为另外

提示:一个仓库已向该引用进行了推送。再次推送前,您可能需要先整合远程变更

提示:(如 'git pull ...')。

提示:详见 'git push --help' 中的 'Note about fast-forwards' 小节。

解决方案:

git push -u origin +master

强行更新。具体为什么,没研究。

原文地址:http://blog.sina.com.cn/s/blog_677966330102vlfk.html

6.在终端输入git会出现其工具的使用方法

Git使用视频教程:

http://pan.baidu.com/s/1nvq3aqP

http://pan.baidu.com/s/1boEnIHL