zoukankan      html  css  js  c++  java
  • github 的使用步骤

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

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

    2. 安装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 "defnngj@gmail.com"//填写email地址,然后一直“回车”ok
    

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

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

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

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

    $ ssh -T git@github.com
    

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

    6. 设置用户信息:

    6.1

    $ git config --global user.name "defnngj"//给自己起个用户名
    $ git config --globla user.email  "defnngj@gmail.com"//填写自己的邮箱
    

    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 --globla 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 git@github.com:defnngj/hello-world.git   //连接远程github项目
    $ git push -u origin master   //将本地项目更新到github项目上去
    

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

     

    可能的错误

    $ git remote addorigin git@github.com:defnngj/hello-world.git

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

    解决办法:

    $ git remote rm origin

    然后在执行:$ git remote add origin git@github.com:defnngj/hello-world.git 就不会报错误了

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

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

     

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

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

    git .init  git add *  git  remote add origin dev@faa git commit -a -m “” git push origin master

     

    Git

     

    目录

     [隐藏]
    • 1 版本控制守则
    • 3 本地代码库管理
      • 3.1 让git使用你的用户名来标记每次commit
      • 3.2 在当前目录初始化一个代码库
      • 3.3 把所有文件加入版本控制
      • 3.31 从版本库中删除文件
      • 3.4 commit所有修改过的文件
      • 3.5 扔掉对代码库所做的修改,恢复到HEAD版本
      • 3.6 恢复文件到之前提交的某一个版本
      • 3.7 创建一个分支
      • 3.8 切换到一个分支
      • 3.9 切换回主分支
      • 3.10 命令行提示符脚本
    • 4 操作远程代码库
      • 4.1 使用git协议共享本地代码库
      • 4.2 复制一个远程代码库
      • 4.3 从远程代码库上的主分支获取最新的代码
      • 4.4 将本地代码库的修改传给远程代码库
      • 4.5 在远程代码库创建一个分支
      • 4.6 在本地关联一个远程库的分支
      • 4.7远程仓库的删除和重命名
      • 4.8更新指定分支指定文件
      • 4.9 显示全部log信息
      • 4.91 优化git log 显示
    • 5 git基本工作流程
      • 5.1 创建帐号
      • 5.2 开始工作
      • 5.3 本地修改和提交
      • 5.4 从中央服务器获取其他人的更新
      • 5.5 向中央服务器发送本地的修改
    • 6 git与SVN协同的工作流程
      • 6.1 从SVN服务器获取代码
      • 6.2 创建一个本地分支
      • 6.3 日常修改和提交
      • 6.4 切回master从SVN获取最新代码
      • 6.5 master同步后,与工作分支合并
      • 6.6 合并主分支

    [编辑]版本控制守则

    • 不要提交垃圾文件。包括临时文件,编译产生的二进制文件,个人设置文件,系统cache,与项目无关的文件等等。使用.gitignore文件来告诉git哪些文件应该忽略掉。
    • 不要提交不能编译运行的代码到master分支。平时创建临时分支来工作,可以随时提交,当告一段落之后再合并到master分支。保证master分支的代码是可运行的,这样不会给团队中的其他人带来不必要的影响。
    • 善用分支。可以每开始一个新功能时就创建一个新分支,改完后合并到master。每个新版本也要用一个新分支,这样如果需要改老版本的bug,那么可以很轻松地切换到老分支,改完后再切回新分支。
    • 多提交,及时提交。每当改动达到可以用一句话描述的时候,就提交。
    • 一定要写清楚提交注释,写明做了哪些修改,不要用笼统的一句话例如“改bug”,而是要写具体的说明例如,“按钮文字从转发改成分享”。
    • 每个准备提交上线的版本要打tag,命名成v1.0.0_rc1这种格式,第一次提交就是rc1,第二次提交就是rc2等等。

    [编辑]git代码库

    [编辑]请求代码

    $ git clone ssh://%%%%.git
    $ git clone ssh://%%%%%%.git
    

     

    [编辑]本地代码库管理

    [编辑]让git使用你的用户名来标记每次commit

    $ git config --global user.name "zhengyue"
    $ git config --global user.email zhengyue@magus-soft.com
    

    [编辑]在当前目录初始化一个代码库

    $ git init
    

    [编辑]把所有文件加入版本控制

    $ git add .
    

    [编辑]commit所有修改过的文件

    $ git commit -a
    

    [编辑]扔掉对代码库所做的修改,恢复到HEAD版本

    $ git checkout -f
    或
    $ git reset --hard
    

    [编辑]恢复文件到之前提交的某一个版本

    $ git log                        ## 列出所有提交过的版本,注意每个版本有一个很长的16进制字符串做为ID
    $ git checkout abcde filename    ## 提取出ID为abcde的版本中的某个文件,覆盖掉当前的本地文件。
    

    注:ID字符串不用写全,只要写前几位即可,一般写出5位就不会有重复的了。

    [编辑]

    显示全部log

    $ git shortlog
    

    [编辑]

     

    优化log显示

    
    git log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset'  --abbrev-commit
    创建一个分支
    $ git branch test
    

    [编辑]切换到一个分支

    $ git checkout test
    

    [编辑]切换回主分支

    $ git checkout master
    

    [编辑]命令行提示符脚本

    把下面的脚本放到 ~/.profile 或者 ~/.bashrc 里,命令行的提示符即会显示出当前的git分支名称。例如:~/Projects/cmb (master) $

    function parse_git_branch {
          ref=$(git symbolic-ref HEAD 2> /dev/null) || return
            echo "("${ref#refs/heads/}")"
    }
    
    PS1="\w \$(parse_git_branch)\$ "
    

    [编辑]操作远程代码库

    [编辑]使用git协议共享本地代码库

    git本身带了一个服务器命令,启动后,其他机器可以用git协议访问本机的代码库。

    $ git daemon --export-all --base-path=/home/pub/projects/ test.git
    

    注意:

    • 如果返回"fatal: no matching remote head",说明代码库里没有文件或者没有commit过。
    • 在.git目录下应该有git-daemon-export-ok这个文件,否则必须使用export-all参数来强制共享
    • 如果允许远程提交代码,需要加上 --enable=receive-pack 参数

    [编辑]

    从版本库中删除文件

    在git rm -rf  --cached  CCB.xcodeproj/project.xcworkspace/xcuserdata/  

    --cached  本地保留服务器删除

    远程仓库的删除和重命名

    在新版 Git 中可以用 git remote rename 命令修改某个远程仓库的简短名称,比如想把 pb 改成 paul,可以这么运行:

       $ git remote rename pb paul
        $ git remote origin paul

    注意,对远程仓库的重命名,也会使对应的分支名称发生变化,原来的 pb/master 分支现在成了paul/master。

    碰到远端仓库服务器迁移,或者原来的克隆镜像不再使用,又或者某个参与者不再贡献代码,那么需要移除对应的远端仓库,可以运行 git remote rm 命令:

        $ git remote rm paul
    或者使用
       $ git push origin :xx
       $ git branch -d xx

    git checkout 指定分支 指定文件

    git checkout master HFFrame/Global/Global_macro.h

    复制一个远程代码库
    $ git clone git://10.150.150.136/test.git test
    

    [编辑]从远程代码库上的主分支获取最新的代码

    第一次:

    $ git pull git://10.150.150.136/test.git master
    或
    $ git pull ssh://10.150.150.136/test.git master
    

    以后:

    $git pull origin master
    
    • 相当于svn update

    [编辑]将本地代码库的修改传给远程代码库

    如果是提交到master分支:

    $ git push origin master
    
    • 警告:远程代码库应该是一个空的bare库,否则会搞乱working copy!!如果working copy是干净的,可以使用git checkout -f来同步代码库。如果已经做了修改,则就没有很好的办法恢复同步状态了!

    [编辑]在远程代码库创建一个分支

    有时候在本地创建的分支希望分享到远程代码库的分支里,下面命令会在远程创建一个名为branch的分支,并且和本地的branch分支关联起来

    $ git push origin branch
    

    以后,即可使用 git push 来分享代码到远程库。

    [编辑]在本地关联一个远程库的分支

    有时候需要在本地获取一个远程分支,使用这个命令:

    $ git branch --track origin/branch
    

    以后即可使用 git pull 来获取远程的更新

    [编辑]git基本工作流程

    git支持很多种不同的工作流程,我们采用的是与SVN接近的模拟中央服务器流程。即,有一个公用的代码库放在服务器上,开发者从这个共享的服务器克隆后,在本地开发,然后提交到服务器,并且从服务器获取其他用户提交的内容。

    • 注意:git是分布式的代码控制系统,所以每个代码库都是平等的,这里只是在逻辑上划分了一个中央服务器而已,在物理结构上,中央代码库与本地代码库没有什么不同。

    [编辑]创建帐号

    git可以使用多种协议在代码库之间通信。我们目前采用ssh协议,需要用户在服务器上有一个ssh帐号才能访问代码库。用户需要在本机创建一个ssh密钥对,把公钥发给管理员,密钥保存在自己本机。这样,就可以使用密钥连接服务器。

    [编辑]开始工作

    开始工作之前,需要复制一套中央服务器的代码库:

    $ git clone /server/repo/project
    

    [编辑]本地修改和提交

    git的提交操作是在本地完成的,不需要网络连接。

    $ git checkout branch
    --- 编辑现有文件或者添加新文件 ...
    
    $ git add newfile
    $ git commit -a
    --- 填写此次提交的备注
    

    [编辑]从中央服务器获取其他人的更新

    这个操作实际是执行了获取更新,并且与本地代码合并两个操作。因为有可能2人改了同一个地方,所以这里有可能会出现冲突的情况。出现冲突时,需要手工合并代码。

    $ git pull
    

    [编辑]向中央服务器发送本地的修改

    这个操作是把本地的所有新的commit历史都提交到服务器

    $ git push
    

    [编辑]git与SVN协同的工作流程

    git可以和SVN服务器一起使用,即,中央服务器采用svn,本地代码库使用git。这样的好处是,可以兼容以前的项目,同时本地有一套完整的版本控制系统,可以随时查看代码修改历史,随时提交,不需要网络。合适的时候再提交到SVN服务器。git-svn的工作流程也有很多,我们推荐使用下面这种方式。

    [编辑]从SVN服务器获取代码

    $ git svn clone http://svnserver/project/trunk
    

    [编辑]创建一个本地分支

    为了方便合并,减少不必要的麻烦,最好保持主分支master不变,在一个新的分支进行日常工作

    [编辑]日常修改和提交

    与git的工作流程完全一样

    $ git checkout -b work
    ... 编辑 ...
    $ git commit -a
    

    [编辑]切回master从SVN获取最新代码

    $ git checkout master
    $ git svn rebase
    

    [编辑]master同步后,与工作分支合并

    $ git checkout work
    $ git rebase master     ## 手工解决可能的冲突
    

    [编辑]合并主分支

    $ git checkout master $ git merge work

  • 相关阅读:
    Java基础面试题总结-编程题总结
    Linux下mysql的安装与卸载并且连接navicat详解(亲测可用)
    linux 下安装redis
    linux 下安装tomcat
    Linux系统下安装jdk及环境配置(两种方法)
    Servlet概述
    多线程之volatile关键字
    多线程之ThreadLocal
    多线程之synchronized实现原理
    线程池2
  • 原文地址:https://www.cnblogs.com/googlegis/p/3035669.html
Copyright © 2011-2022 走看看