• git使用及一些配置、问题


    一、绑定用户名、邮件地址
    git config --global user.name "Your Name"
    git config --global user.email "email@example.com
    二、设置SSH免密码登陆
    生成公钥
    ssh-keygen -t rsa -C your_email@youremail.com(GitHub注册邮箱)
    公钥上传github账户
    生成的文件放在了C:/Users/用户名(你的windows用户)/.ssh/文件夹中,用记事本打开其中的id_rsa.pub文件,(ubuntu 默认在用户目录/.ssh目录下)全部内容复制。登录github网站,找到account setting
    测试是否成功
    ssh -T git@github.com 如果成功,会显示欢迎字符
     
    error:
    Agent admitted failure to sign using the key.
    Permission denied (publickey).
    solve ssh-add
     
    三、建仓库
    远程库(repository)
    在网站上登录你的github帐户,点击Repositoies选项卡,建立一个名叫Hello的库。(名字随便取,但在本地建库时必须使用相同名字)
     
    本地库
    在自己电脑上任意一个文件夹,新建一个目录,目录名与在github上所建库的名字相同,这里是Hello,并进入Hello文件夹
     
    初始化本地库
    1.git init
    2.编辑一个文档
      vim readme.txt
      Git is a version control system.
      Git is free software.
    3.1用命令git add告诉Git,把文件添加到仓库
      git add readme.txt
    3.2用命令git commit告诉Git,把文件提交到仓库
      git commit -m "wrote a readme file"
     
    commit可以一次提交很多文件,所以你可以多次add不同的文件
    $ git add file1.txt
    $ git add file2.txt file3.txt
    $ git commit -m "add 3 files."
     
    本地仓库
    1.修改文件
      修改文件之后,使用git status查看哪个文件有改动
      git status
      使用git diff查看具体哪里改动
      git diff readme.txt
    2.提交修改
      git add readme.txt
      git status
      git commit
    3.版本查看
      git log 【--pretty=oneline】
    4.版本恢复
    Git必须知道当前版本是哪个版本,在Git中,用HEAD表示当前版本,也就是最新的提交3628164...882e1e0(注意我的提交ID和你的肯定不一样),上一个版本就是HEAD^,上上一个版本就是HEAD^^,当然往上100个版本写100个^比较容易数不过来,所以写成HEAD~100
     
      git reset --hard HEAD^
      git reset --hard 版本号:可前可后恢复
    如果关机之后不知道commit id,可以使用git reflog查看
    5.撤销修改
      git checkout -- file可以丢弃工作区的修改
      命令git checkout -- readme.txt意思就是,把readme.txt文件在工作区的修改全部撤销
    6.文件删除
      如果磁盘误删
      rm file 磁盘直接删除
      第一种情况,确实要删除
        git rm file 版本库中删除
        git commit -m “commitment”提交
      第二种情况,还原
        git checkout -- file还原
     
    远程仓库
    1.关联本地仓库
      在Github建立一个同名仓库
      本地执行git remote add origin git@github.com:michaelliao/learngit.git
      添加后,远程库的名字就是origin,这是Git默认的叫法,也可以改成别的,但是origin这个名字一看就知道是远程库
    2.推送到远程仓库
      git push -u origin master
      我们第一次推送master分支时,加上了-u参数,Git不但会把本地的master分支内容推送的远程新的master分支,还会把本地的master分支和远程的master分支关联起来,在以后的推送或者拉取时就可以简化命令
      之后可以执行git push origin master
    3.克隆到本地
      在github上新建一个远程库
      git clone git@github.com:tla001/gittest.git
     
    分支管理
    master称为主分支
      git checkout -b dev创建dev分支并切换进去
      相当于 git branch dev
          git checkout dev
     
    git branch 查看当前分支
    git checkout master切换到主分支
    git merge dev 将dev分支合并到master上
    git branch -d dev 删除dev分支
     
    突发保存于恢复
    git stash
    git stash list
    git stash pop
     
    多人协作
    git remote 查看远程库信息
    git remote -v详细信息
    master分支是主分支,因此要时刻与远程同步;
     
    dev分支是开发分支,团队所有成员都需要在上面工作,所以也需要与远程同步;
    bug分支只用于在本地修复bug,就没必要推到远程了,除非老板要看看你每周到底修复了几个bug;
    feature分支是否推到远程,取决于你是否和你的小伙伴合作在上面开发。
    你的小伙伴要在dev分支上开发,就必须创建远程origin的dev分支到本地,于是他用这个命令创建本地dev分支,clone只能得到master
    git checkout -b dev origin/dev
     
    如果发生冲突
      git pull 与远程同步
      git branch --set-upstream dev origin/dev 分支连接
    步骤
      1首先,可以试图用git push origin branch-name推送自己的修改;
      2如果推送失败,则因为远程分支比你的本地更新,需要先用git pull试图合并;
      3如果合并有冲突,则解决冲突,并在本地提交;
      4没有冲突或者解决掉冲突后,再用git push origin branch-name推送就能成功!
    如果git pull提示“no tracking information”,则说明本地分支和远程分支的链接关系没有 创建,用命令git branch --set-upstream branch-name origin/branch-name。
     
    标签管理
    git branch
    git checkout master跳转到相应的分支
    git tag v1.0
    git tag 查看
    git tag v0.9 commit id
    git tag -s <tagname> -m "blablabla..."可以用PGP签名标签查看标签信息
    git tag -d v0.9 删除标签
    git push origin v1.0推送某个标签
    git push origin --tags一次性推送全部尚未推送到远程的本地标签
    git push origin :refs/tags/<tagname>可以删除一个远程标签
     
    eclipse 和myeclipse配置git
    1.help中安装marketplace client插件
    添加site juno-http:??download.eclipse.org/releases/juno
    2.MarketplaceClient装好后,会重启Eclipse,然后我们会发现“Help”菜单下多了一个“EclipseMMarketPlace”,打开按照下图操作
    搜索安装egit
    3.window->preference->Team下出现Git就成功了。就可以开始配置和使用这个插件了

     

    --------------------------------------------------------------------------------
    error:src refspec master does not match any
    touch README
    git add README
    git commit -m 'first commit'
    git push origin master

  • 相关阅读:
    FineReport自学习题第四题——图表
    SQL如何查询连续数字并且统计连续个数
    Arm Cortex-M3 MCU性能
    北汽蓝谷极狐阿尔法S与T
    长鑫存储DDR产品
    华虹宏力芯片制造主流工艺技术
    传统编译器与神经网络编译器
    Apple苹果公司组织架构
    GPU与CPU交互技术
    CMOS图像传感器与DDI显示芯片
  • 原文地址:https://www.cnblogs.com/tla001/p/6445460.html
Copyright © 2020-2023  润新知