Git简介

一、      安装

下载地址:

https://git-scm.com/downloads

https://pan.baidu.com/s/1kU5OCOB#list/path=%2Fpub%2Fgit

二、      基本命令

创建一个版本库:

新建一个空文件夹,在该文件夹路径运行命令(git init)

mkdir leangit

cd leangit

git init

把文件添加到版本库:

  1. 要添加的文件或文件夹放入版本库中
  2. 执行:git add filename 或 git add dirname(文件添加到仓库)
  3. 再执行:git commit –m “本次提交的说明”(文件提交到仓库)

所有的版本控制系统,其实只能跟踪文本文件的改动,比如TXT文件,网页,所有的程序代码等

第一步是用git add把文件添加进去,实际上就是把文件修改添加到暂存区;

第二步是用git commit提交更改,实际上就是把暂存区的所有内容提交到当前分支。

在工作区的第一次修改被放入暂存区,准备提交,但是,在工作区的第二次修改并没有放入暂存区

查看创库当前的状态:git status

查看文件修改前后比较:git diff filename

查看提交历史:git log(可以查看版本号)

查看命令历史:git reflog

版本回退:

回退到上一个版本:git reset –hard HEAD^ 或 git reset –hard HEAD~1

回退到特定版本:git reset –hard commitId(版本号或版本号前几位)

丢弃工作区的修改:git checkout -- filename

有两种情况:

  1. 文件修改后还没有被放到暂存区,现在撤销修改就回到和版本库一模一样的状态
  2. 文件已经添加到暂存区后,又做了修改,现在撤销修改就回到添加到暂存区后的状态

把暂存区的修改撤销掉:git reset HEAD filename

从版本库中删除文件:git rm filename 再执行 git commit –m “add some filename”

删除错误,从版本库中恢复文件:git checkout -- filename

三、      本地Git仓库和GitHub仓库之间的传输(通过SSH加密的)

注册GitHub账号

  1. 创建SSH Key
               Windows下打开Git Bash:执行ssh-keygen -t rsa -C "youremail@example.com"
  1. 登录GitHub添加SSH Keys

关联一个远程库:git remote add origin git@server-name:path/repo-name.git

第一次推送master分支的所有内容:git push –u origin master

推送最新修改:git push origin master

克隆远程库至本地:git clone gitpath(远程库地址)

四、      分支操作

查看分支:git branch

创建分支:git branch branchname(分支名称)

切换分支:git checkout branchname(分支名称)

合并某分支到当前分支:git merge branchname或git merge –no-ff –m “message” branchname

删除分支:git branch –d branchname

把当前工作现场“储藏”起来,等以后恢复现场后继续工作:git stash

查看存储的工作现场:git stash list

用git stash apply恢复,再用git stash drop删除 或 执行git stash pop

  • 查看远程库信息,使用git remote -v;
  • 本地新建的分支如果不推送到远程,对其他人就是不可见的;
  • 从本地推送分支,使用git push origin branch-name,如果推送失败,先用git pull抓取远程的新提交;
  • 在本地创建和远程分支对应的分支,使用git checkout -b branch-name origin/branch-name,本地和远程分支的名称最好一致;
  • 建立本地分支和远程分支的关联,使用git branch --set-upstream branch-name origin/branch-name;
  • 从远程抓取分支,使用git pull,如果有冲突,要先处理冲突。
Git remote 修改源
git commit -m "Change repo." # 先把所有为保存的修改打包为一个commit
git remote remove origin # 删掉原来git源
git remote add origin [YOUR NEW .GIT URL] # 将新源地址写入本地版本库配置文件
git push -u origin master # 提交所有代码

git--简单操作的更多相关文章

  1. 在win7系统下使用TortoiseGit(乌龟git)简单操作Git@OSC

    非常感谢OSC提供了这么好的一个国内的免费的git托管平台.这里简单说下TortoiseGit操作的流程.很傻瓜了 首先你要准备两个软件,分别是msysgit和tortoisegit,乌龟还可以在下载 ...

  2. GIT简单操作

    以下只是简单的bash的操作命令,个人比较喜欢用gui 打开 git bash here git clone https://github.com/自己的名字/trunk git checkout + ...

  3. Git简单操作及原理

    设置签名: ​ 用户名:tom ​ Email地址:goodMorning@atguigu.com ​ git config user.name tom_pro ​ git config user.e ...

  4. GitHub Git 简单操作

    一.使用git更新GitHub 准备:本地已经安装好git 登录GitHub,选择好仓库,点击 Clone or download 拷贝地址 这里的地址为:https://github.com/edw ...

  5. Eclipse安装Git插件及简单操作

    0. 前言 说一件事,说起来也是好笑,工作三年半了,还没接触到团队开发,都是一个人小打小闹.因此连Git都没有使用过.感觉好Low的,这一篇,简单讲一下,Eclipse配置Git插件,并提交代码到Gi ...

  6. 小丁带你走进git世界一-git简单配置

    小丁带你走进git世界一-git简单配置 1.github的简单配置 配置提交代码的信息,例如是谁提交的代码之类的. git config  –global user.name BattleHeaer ...

  7. GitHub学习心得之 简单操作

    作者:枫雪庭 出处:http://www.cnblogs.com/FengXueTing-px/ 欢迎转载 前言 本文对Github的基本操作进行了总结, 主要基于以下文章: http://gitre ...

  8. Git远程操作详解

    Git是目前最流行的版本管理系统,学会Git几乎成了开发者的必备技能. Git有很多优势,其中之一就是远程操作非常简便.本文详细介绍5个Git命令,它们的概念和用法,理解了这些内容,你就会完全掌握Gi ...

  9. [转]Git远程操作详解

    原文:http://www.ruanyifeng.com/blog/2014/06/git_remote.html Git是目前最流行的版本管理系统,学会Git几乎成了开发者的必备技能. Git有很多 ...

  10. Git 远程操作详解

    Git是目前最流行的版本管理系统,学会Git几乎成了开发者的必备技能. Git有很多优势,其中之一就是远程操作非常简便.本文详细介绍5个Git命令,它们的概念和用法,理解了这些内容,你就会完全掌握Gi ...

随机推荐

  1. angular.js 动态插入删除dom节点

    angular.js 是新一代web开发框架,它轻松在web前端实现了MVC模式,相比 jquery 模式,这种新玩意竟然不需要开发者直接去操作dom . 作为前端开发而不去操作dom ,这简直是一个 ...

  2. Atitit.解决org.hibernate.DuplicateMappingException: Duplicate class/entity mapping

    Atitit.解决org.hibernate.DuplicateMappingException: Duplicate class/entity mapping 1. 排除流程::: @Depreca ...

  3. redhat yum替换成CentOS yum 并修改源

    wget http://mirrors.163.com/centos/6/os/x86_64/Packages/python-iniparse-0.3.1-2.1.el6.noarch.rpm wge ...

  4. 有关View的几个基础知识点-IOS开发

    转自:http://blog.csdn.net/iukey/article/details/7083165 我一般情况下不会使用interface builder去画界面,而是用纯代码去创建界面,不是 ...

  5. JavaScript判断浏览器类型及版本(新增IE11)

    $(function () { var Sys = {}; var ua = navigator.userAgent.toLowerCase(); var s; (s = ua.match(/rv:( ...

  6. spring 发布 Jax-Ws Service (二)

    Service import javax.jws.WebMethod; import javax.jws.WebParam; import javax.jws.WebResult; import ja ...

  7. spring中事务传播解读:PROPAGATION_REQUIRES_NEW

    第一步:获取事务状态,判断当前事务线程是否存在.第二步:如果当前事务的传播行为为PROPAGATION_REQUIRES_NEW,挂起当前线程绑定的事务,取消当前事务的sessionHolder和co ...

  8. Ubuntu 12.04下LAMP环境的搭建

    首先 apt-get install update 一下 sudo apt-get install update 安装MySQL 的服务端和客户端 sudo apt-get install mysql ...

  9. getopt--parse command line options

    getopt解析命令行选项 getopt, getopt_long, getopt_long_only, optarg, optind, opterr, optopt - Parse command- ...

  10. 翻译:Laravel-4-Generators 使用自己定义代码生成工具高速进行Laravel开发

    使用自己定义代码生成工具高速进行Laravel开发 这个Laravle包提供了一种代码生成器,使得你能够加速你的开发进程.这些生成器包含: generate:model – 模型生成器 generat ...