• github的使用


    本地安装git

    https://code.google.com/p/msysgit/downloads/list

    生成sshkey

    输入 ssh-keygen ,按enter,多按几次enter 公钥生成在 C:Documents and Settingsxxx.ssh 目录中,找到目录 ,里面有id_rsa.pub文件,用记事本打开,然后把里面的东西 全选复制。

    有公钥和私钥

    并在github上配置sshkey(目的是使本地和线上的github能互相通信)

    github上新建一个项目

    https://github.com/yanghaize/yourbook.git

    在项目目录里执行

    安装 Git 之后,你要做的第一件事情就是去配置你的名字和邮箱,因为每一次提交都需要这些信息:

    git config --global user.name "bukas"
    git config --global user.email "bukas@gmail.com"

    首次提交代码

    echo "# yourbook" >> README.md
    git init //初始化自己的仓库
    git add . //添加文件到本地创库
    git commit -m "first commit"//添加本次提交的注释
    git remote add origin https://github.com/yanghaize/yourbook.git//将本地创库和git创库链接
    git push -u origin master   //把本地 master 分支 推送到 服务器的master分支上,如果服务器没有此分支,就 新建 此分支。这也是 在服务器上新建分支的一种方法/将本地代码上传到服务器

    首先,git要求使用者必须提供自己的身份标识,为此我们需要在git bash中执行以下命令:
    git config --global user.name  'aa.Tessst'
    git config --global user.email  fsc@sina.com

    提交失败的例子:
    1.
    error: pathspec 'composer' did not match any file(s) known to git. error: pathspec 'composer.lock' did not match any file(s) known to git. error: pathspec 'vendor' did not match any file(s) known to git. 解决方法:git rm -r --cached .

    2.
    ![rejected]  master->master(fetch first)  
    error:failed to push some refs to 'https://github.com/xxx/xxx.git'
    
    

    
    
    
    
    

    最后执行git pull,然后再执行push就可以了:

    
    

    
    
    
    
    

    原因是:刚才在网站上改了README.md文件,添加了一些项目的说明,然后使用Git客户端再次提交的时候,需要先更新服务器上的变化,然后才能提交,也就是先更新再提交。

    
    

    3.

    ! [rejected] master -> master (non-fast-forward)(有推荐视频)

    问题(Non-fast-forward)的出现原因在于:git仓库中已经有一部分代码,所以它不允许你直接把你的代码覆盖上去。于是你有2个选择方式:

    1,强推,即利用强覆盖方式用你本地的代码替代git仓库内的内容

    $ git fetch

    $ git merge

    这2句命令等价于

    1. $ git pull
    1. $ git pull  

    可是,这时候又出现了如下的问题:


    上面出现的 [branch "master"]是需要明确(.git/config)如下的内容
    [branch "master"]
    remote = origin

    merge = refs/heads/master

    这等于告诉git2件事:

    1,当你处于master branch, 默认的remote就是origin。

    2,当你在master branch上使用git pull时,没有指定remote和branch,那么git就会采用默认的remote(也就是origin)来merge在master branch上所有的改变

    如果不想或者不会编辑config文件的话,可以在bush上输入如下命令行:

      1. $ git config branch.master.remote origin
      2. $ git config branch.master.merge refs/heads/master


    之后再重新git pull下。最后git push你的代码吧。

    我的解决方法是:

    先执行git pull

    然后再执行 git push --force origin master 替换原先的git push -u origin master


    直接 用 git pull 将项目 从 github 上 同步 下来

    有两种方法:

    1、当git clone之后,直接git pull它会自动匹配一个正确的remote url

    是因为在config文件中配置了以下内容:

    1 [branch "master"] 2 remote = origin 3 merge = refs/heads/master

    表明:

    1.git处于master这个branch下时,默认的remote就是origin;

    2.当在master这个brach下,使用指定remote和merge的git pull时,使用默认的remote和merge。

    建议:用第二种 方法,因为 如果 是 git clone的 项目,当 执行 git push 时,因为 在 git  config里 url  是 只读方式

    [remote "origin"]
        fetch = +refs/heads/*:refs/remotes/origin/*
        url = git://github.com/xxx/xxx.git
    //git@github.com:XXX/XXX.git 这才是 读写方式

     
  • 相关阅读:
    EP-N8530S USB WIFI 驱动移植
    MySQL(十三)事务处理和字符集
    MySQL(十二)游标和触发器
    《Google软件测试之道》测试工程师
    jmeter(十二)关联之正则表达式提取器
    MySQL(十一)视图及存储过程
    jmeter(十一)JDBC Request之Query Type
    MySQL(十)操纵表及全文本搜索
    MySQL(九)插入、更新和删除
    MySQL(八)子查询和分组查询
  • 原文地址:https://www.cnblogs.com/aipiaoborensheng/p/7425345.html
Copyright © 2020-2023  润新知