git

 

From Evernote:

git

XCode已有工程建立git代码库的方法

代码管理一直在使用SmartGit,感觉还挺好用。之前建立一个工程,然后通过Clone可以将已有的XCode工程加入到SmartGit代码库里面。昨天想将手头的工程加入到SmartGit里,找不到在哪里加入,一下想不起以前是怎样将工程加入代码库的。后来试试Clone的功能,发现旧的工程可以以克隆的方式加入到代码库里,但新建立的工程却不行。突然想起新版本的xcode建立工程的时候多了一个选项:

之前创建工程是没有勾选的,会不会是这个原因呢?

马上动手新建了一个工程,勾选该选项,在用smartgit的clone去建立代码库,这次果然可以了。看来就是xcode现在没有默认建立git库了。

现在的解决办法只有将原有的xcode工程创建代码库,google了一番,找到了一个方法:

用控制台进入工程的目录,执行以下命令:

 
  
[plain]  view plain copy
  1. git init  
  2. git add .  
  3. git commit -m "Initial commit"  
 
这样现有的代码库就加入了git了。

Github上更新自己fork的代码

一、前提

本文的前提是你已经在github上fork了别人的分支,并且弄好了跟github的ssh连接。
相关配置详情参考:https://help.github.com

二、详细操作

  1. 检出自己在github上fork别人的分支到rrest目录下,其中rrest目录之前是不存在的。
    git clone [email protected]:yss/rrestjs.git rrest
  2. 然后增加远程分支(也就是你fork那个人的分支)名为bob(这个名字任意)到你本地。
    git remote add bob https://github.com/DoubleSpout/rrestjs.git
    如果你运行命令:git remote -v你会发现多出来了一个Bob的远程分支。如下:
    bob https://github.com/DoubleSpout/rrestjs.git (fetch)
    bob https://github.com/DoubleSpout/rrestjs.git (push)
    origin [email protected]:yss/rrestjs.git (fetch)
    origin [email protected]:yss/rrestjs.git (push)
  3. 然后,把对方的代码拉到你本地。
    git fetch bob
  4. 最后,合并对方的代码。
    git merge bob/master
  5. 最最后,把最新的代码推送到你的github上。
    git push origin master
这样就完成了自己的代码更新。
概要: 克隆别人的代码库到自己的项目中,可以作为子模块的形式使用,或二次开发 

操作流程: 
在开源项目中点击fork按钮,稍等一会儿,该项目便会拷贝一份到你的respositories中, 
克隆一份代码到本地:git clone [email protected]:username/Spoon-Knife.git 

配置:(项目克隆完成后,默认远程的别名为origin,此为我们自己项目中的版本,并非原始作者的代码库) 

创建原始代码库的别名,方便跟踪代码 git remote add upstream git://github.com/octocat/Spoon-Knife.git 
git fetch upstream 跟踪原始代码 
提交代码更新到自己的代码库 git push origin master 
获取原始代码库的更新 
git fetch upstream 
git merge upstream/master 

1. git 版本控制系统

相比CVS\SVN优势:

- 支持离线开发,离线Repository
- 强大的分支功能,适合多个独立开发者协作
- 速度块

ps:关于git的更详细的介绍于优点在此就不介绍了,教大家怎么用是关键。:)

==============运行环境========

系统:windows

git : Git-1.7.3.1-preview20101002.rar  下载地址:http://d.download.csdn.net/down/3169511/z_y_liu89

===========================


2. github是一个git项目托管网站

注册地址:https://github.com/signup/free

 

3. 安装git程序,执行下面操作

$ cd ~/.ssh    //检查计算机ssh密钥 

如果没有提示:No such file or directory 说明你不是第一次使用git,执行下面的操作,清理原有ssh密钥

 $ ls 
 config id_rsa id_rsa.pub known_hosts
 $ mkdir key_backup
 $ cp id_rsa* key_backup
 $ rm id_rsa* 

获得密钥:

ssh-keygen -t rsa -C "[email protected]"//填写email地址,然后一直“回车”ok 

打开本地..\.ssh\id_rsa.pub文件。此文件里面内容为刚才生成人密钥。

4. 登陆github系统。点击右上角的 Account Settings--->SSH Public keys ---> add another public keys

把你本地生成的密钥复制到里面(key文本框中), 点击 add key 就ok了

5. 接着打开git ,测试连接是否成功

如果提示:Hi defnngj You've successfully authenticated, but GitHub does not provide shell access. 说明你连接成功了

6. 设置用户信息:

6.1

$ git config --global user.name "defnngj"//给自己起个用户名 $ git config --global user.email  "[email protected]"//填写自己的邮箱 

6.2

在github中找到 Account Settings--->Account Admin ,找到一下信息:

Your API token is e97279836f0d415a3954c1193dba522f ---keep it secret! Changing your password will

generate a new token

$ git config --global github.user defnngj      //github 上的用户名 $ git config --global github.token e97279836f0d415a3954c1193dba522f 

 

====================创建一个项目========================

 1. 回到github首页,点击页面右下角“New Repository”

填写项目信息:

project name: hello world

description : my first project

点击“Create Repository” ; 现在完成了一个项目在github上的创建。

2. 我们需要使用git在本地创建一个相同的项目。

$ makdir ~/hello-world    //创建一个项目hello-world $ cd ~/hello-world    //打开这个项目 $ git init    //初始化  $ touch README
$ git add README   //更新README文件 $ git commit -m 'first commit'//提交更新,并注释信息“first commit”  $ git remote add origin [email protected]:defnngj/hello-world.git   //连接远程github项目   $ git push -u origin master   //将本地项目更新到github项目上去 

 现在查看github上面的hello world 项目,是不是发现已经将本地中的README文件更新上来了。 :) 恭喜!

 

------------------------------------关于可能出现的错误----------------------------------

1.在执行

$ git remote addorigin [email protected]:defnngj/hello-world.git

错误提示:fatal: remote origin already exists.

解决办法:

$ git remote rm origin

然后在执行:$ git remote add origin [email protected]:defnngj/hello-world.git 就不会报错误了

 

2. 在执行

$ git push origin master

错误提示:error:failed to push som refs to.......

解决办法:

$ git pull origin master //先把远程服务器github上面的文件拉先来,再push 上去。

 

---------------------------后记-----------------------------------------------------------------------

本文是参考官方帮助进行的:http://help.github.com/win-set-up-git/ 基本与官方步骤相同,我在此属于翻译了一下!

关于更过的学习:请登陆: http://progit.org/book/zh/进行学习。

本来关于此类知识应该属于开发的,本人从事测试工作,因为老大现在在推行git的使用,所以,就花了时间,初步的学习了一下,为了更好的测试嘛。呵呵。

第二个原因,看到有个乐师用版本管理系统(SVN)来更新和管理自己的乐谱,这个很有意思。版本管理系统并不局限于代码的管理。而且版本管理系统的思想也很有意思。

关于理论上的东西,请参考其它文档。

你可能感兴趣的:(github,git,管理,库)