一、绑定用户名、邮件地址
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

git使用及一些配置、问题的更多相关文章

  1. 【经验之谈】Git使用之TortoiseGit配置VS详解

    前言 上一篇<[经验之谈]Git使用之Windows环境下配置>: 安装 配置和使用 后记 关于vs中使用git网上的教程大家也可以找到,我当时配置的时候也是按照网上找的教程一步一步来的, ...

  2. Git系列教程三 配置与基本命令

    一.安装Git 网上有很多安装教程,可以参考.这里使用的是Windows版本的Git,点击这里下载. 二.基本设置 安装完成后,通过点击鼠标右键就可以看到新添加了俩个Git命令:Git GUI Her ...

  3. Git的.gitignore文件配置

    .gitignore是Git工具的配置文件,用于屏蔽某些文件上传到线上. 创建.gitignore 在window系统中,不允许新建文件名以"."开头的文件,所以通过git bas ...

  4. CentOS6.4下Git服务器Gitosis安装配置

    1.安装GIt: #yum install git 2.增加一个git用户 #useradd git #passwd git 3.创建git仓库存储目录,设置权限 #mkdir /home/git/r ...

  5. Git 笔记二-Git安装与初始配置

    git 笔记二-Git安装与初始配置 Git的安装 由于我日常生活和工作基本上都是在Windows上,因此此处只说windows上的安装.Windows上的安装和其他程序一样,只需要到http://g ...

  6. spring cloud 入门系列七:基于Git存储的分布式配置中心

    我们前面接触到的spring cloud组件都是基于Netflix的组件进行实现的,这次我们来看下spring cloud 团队自己创建的一个全新项目:Spring Cloud Config.它用来为 ...

  7. Git管理多个SSH密钥,Git多帐号配置

    版权声明:转载须标明本文转自严振杰的博客 https://blog.csdn.net/yanzhenjie1003/article/details/69487932版权声明:转载必须注明本文转自严振杰 ...

  8. Git介绍及安装配置

    一.概述 1.1git概念 Git是一个开源的分布式版本控制系统,用于敏捷高效处理任意规模的项目,其作者为Linux创造者Linus Torvalds为管理Linux内核而开放的一个开源的版本控制柔软 ...

  9. (转)【经验之谈】Git使用之TortoiseGit配置VS详解

    原文地址:http://www.cnblogs.com/xishuai/p/3590705.html 前言 上一篇<[经验之谈]Git使用之Windows环境下配置>: 安装 配置和使用 ...

  10. spring cloud 入门系列七:基于Git存储的分布式配置中心--Spring Cloud Config

    我们前面接触到的spring cloud组件都是基于Netflix的组件进行实现的,这次我们来看下spring cloud 团队自己创建的一个全新项目:Spring Cloud Config.它用来为 ...

随机推荐

  1. javaweb基础(36)_jdbc进行批处理

    在实际的项目开发中,有时候需要向数据库发送一批SQL语句执行,这时应避免向数据库一条条的发送执行,而应采用JDBC的批处理机制,以提升执行效率. JDBC实现批处理有两种方式:statement和pr ...

  2. C#中索引器的实现过程,是否只能根据数字进行索引?

    描述一下C#中索引器的实现过程,是否只能根据数字进行索引? 答:索引器是一种特殊的类成员,它能够让对象以类似数组的方式来存取,  使程序看起来更为直观,更容易编写,可以用任意类型.

  3. this指向问题(2)

    4.显示绑定 指的是apply.bind.call (1).apply 和 call 相同点: <1> 这两个方法的用途是在特定的作用域中调用函数,实际上等于设置函数体内 this 对象的 ...

  4. .NET中微软实体框架的数据访问方法

    介绍 本文的目的是解释微软的实体框架提供的三种数据访问方法.网上有好几篇关于这个话题的好文章,但是我想以一个教程的形式更详细地介绍这个话题,这个教程对于开始学习实体框架及其方法的人来说是个入门.我们将 ...

  5. 设置禁止网络连接后,jdbc如何连接到数据库

    设置禁止网络连接,可在my.ini文件中添加如下两行 skip-networking enable-named-pipe 可以通过 SHOW VARIABLES LIKE '%skip_ne%' 来查 ...

  6. JavaWeb各大组件生命周期

    JavaWeb各大组件生命周期 servlet生命周期 服务器打开:在第一次请求时实例化与初始化:然后进行服务:最后服务器关闭销毁 Cookie生命周期:存储在客户端 如果不设置过期时间,则表示这个c ...

  7. centos 7忘记了root密码,如何改密码?

    今天服务器突然进不去了,不知道是密码被改了,还是什么情况! 服务器版本:centos 7.0 网上查找了很多文档,有些办法不可行,如果是亲自试过绝对可行的方法: 1:重启服务器,如下界面,按键盘 &q ...

  8. SQL_server_2008_r2和visual studio 2010旗舰版的安装(2013-01-16-bd 写的日志迁移

    (以下操作是在Oracle VM virtualBox虚拟机中操作的,其实VMware Workstation 9虚拟机也挺不错的,不过用了很久的vmware想换个虚拟机用用 就暂时用Oracle V ...

  9. [Bzoj2246]迷宫探险(概率+DP)

    Description 题目链接 Solution 用三进制表示陷阱状态,1表示有害,2表示无害,0表示不知道 用\(f[S][i]\)表示状态为S时陷阱i有害的概率,这个可以预处理出 \(d[S][ ...

  10. idea录制宏

    录制一个热部署的快捷键 1.打开Edit-->Macros-->statr Macro Recording 打开之后idea右下角就会出现一个小圆点 然后就可以开始录制自己想要的快捷键 按 ...