一、了解git
1.2、git是分布式版本控制系统,svn是集中式版本控制系统(必须要联网),具体区别[评论下面也很精彩]
二、安装配置git
2.1、下载安装:https://git-scm.com/downloads 一路默认next
2.2、安装完成以后打开Git Bash,弹窗命令行窗口。设置一下用户名和邮箱
$ git config --global user.name "Your Name"
$ git config --global user.email "email@example.com"
 
三、创建版本库
3.1、在本地创建一个文件目录,注意:避免产生麻烦目录文件名不要有中文和特殊符号。我的在E:\gitRepository
3.2、在Git Bash中进入版本库目录,输入git init。创建版本库成功!
 
3.3、将文件添加到版本库
3.3.1、在本地创建一个文件newTxt【内容随意】,放到3.3中穿件的版本库中。
3.3.2、git add 文件名,告诉git我要将文件放到版本库里,其实是放到了上图的暂存区
3.3.3、git commit -m “你的说明”,将暂存区的文件提交到分支里,真正的放到了版本库
四、基础命令
 
4.1、查看当前版本库的状态------ git status
当前状态是修改了还没有做提交,没有git add 也没有git commit
 
4.2、查看修改了哪些内容----git diff 文件名
4.3、查看提交历史---git log
4.4、版本回退 --- git reset --hard HEAD^(HEAD当前版本,HEAD^上个版本,HEAD^^上上版本)
4.5、撤销修改
4.5.1、git checkout --文件名(①在工作区修改,文件还未add到暂存区,可撤销到修改前②已经add到暂存区,又做了修改,可以撤销到和暂存区一样)
4.5.2、已经add到暂存区的文件想要撤销到工作区
先 git reset HEAD 文件名【将暂存区的文件修改回退到工作区】再 git checkout --文件名【将工作区的文件修改撤销】
4.6、删除文件
4.6.1、工作区的文件删除了,版本库中的提交也要删除保持一致
先git rm 文件名 然后再git commit -m “说明”
 
 
4.6.2、工作区文件删除了,版本库中还有。工作区文件是误删的,这时候可以恢复工作区中的文件。
git checkout --文件名
五、远程仓库
5.1、创建ssh key。
在用户主目录里找到.ssh目录,里面有id_rsa和id_rsa.pub两个文件,这两个就是SSH Key的秘钥对,id_rsa是私钥,不能泄露出去,id_rsa.pub是公钥,可以放心地告诉任何人。
本地找不到的可以在用户主目录下打开git base 输入:$ ssh-keygen -t rsa -C "youremail@example.com"
 
5.2、将ssh公钥添加到github上
登陆GitHub,打开“Account settings”,“SSH Keys”页面:然后,点“Add SSH Key”,填上任意Title,在Key文本框里粘贴id_rsa.pub文件的内容:
 
GitHub允许你添加多个Key。假定你有若干电脑,你一会儿在公司提交,一会儿在家里提交,只要把每台电脑的Key都添加到GitHub,就可以在每台电脑上往GitHub推送了。
5.3、远程库与本地库创建连接
在本地的仓库下面运行:
git remote add origin git@github.com:github账户/远程库名.git
【要是创建的连接错了,有三种解决方法】
①修改命令:git remote origin set -url 【url】
②先删除再添加:git remote rm origin
git remote add origin 【url】
③直接找到本地库 .git/config 文件,文本编辑进行修改
5.4、将本地库内容推送到远程库上
git push -u origin master
5.5、克隆远程库
git clone git@github.com:远程库名/[xxx].git
六、分支管理
你创建了一个属于你自己的分支,别人看不到,还继续在原来的分支上正常工作,而你在自己的分支上干活,想提交就提交,直到开发完毕后,再一次性合并到原来的分支上,这样,既安全,又不影响别人工作。
6.1、查看当前分支---git brance
6.2、切换分支 ---git checkout 分支名
6.3、创建分支---git brance 分支名
6.4、创建+切换分支---git checkout -b 分支名 == git brance 分支名 和 git checkout 分支名
版本回退的时候HEAD指向每次提交,其实HEAD指向的是master
 
创建并且切换到新的分支---git checkout -b 分支名 例如: git checkout -b dev
加上-b是指创建并切换到新分支,相当于执行两条命令:git brance 分支名 和 git checkout 分支名
6.5、将当前分支合并到master---git merge 分支名
6.6、删除分支---git branch -d dev
 
 
 
 

git的基础操作-入门的更多相关文章

  1. Mac下Git的基础操作

    目前最火的版本控制软件是Git了吧,今天简单梳理一下Mac下Git的基础操作~~ 一.什么是Git Git是一个分布式代码管理工具,用于敏捷的处理或大或小的项目,类似的工具还有svn. 基于Git的快 ...

  2. 『现学现忘』Git基础 — 13、Git的基础操作

    目录 1.Git最基础的使用方式 (1)初始化本地版本库 (2)查看文件的状态 (3)把文件添加到暂存区 (4)把暂存区的内容提交到本地版本库 2.总结本文用到的Git命令 1.Git最基础的使用方式 ...

  3. git 的 基础操作及使用

    /* git svn版本控制器 */ /*git把文件对应的储存空间分为三个区: 1.工作区 2.缓存区 3.历史区 直接操作文件,不做add时,咱们是在工作区做的修改 右键 git bash her ...

  4. git零基础快速入门实战,重点讲解,在实际生产中整合idea对版本、分支的管理等

    1.什么是版本管理 (多人协作)项目中常见的问题: 代码放在什么地方 ?? 同步(到服务器),代码的冲突问题 ?? 服务器访问权限问题 ?? (代码)服务器内容修改的细节 ?? 项目版本的发布 ?? ...

  5. git最基础操作一

    1. 从远端克隆:git clone -b 克隆的分支 git的地址( eg:git clone -b master https://gitee.com/test/test.git ) 2.提交修改的 ...

  6. 【课件】git零基础快速入门实战--重点讲解,在实际生产中整合idea对版本、分支的管理等

    1.git简单描述 git是重要的版本管理工具,几乎每个码农都有自己的git账号管理自己的代码,同时很多公司也是用git管理公司的代码, 因此掌握git在实际生产中的常规使用非常重要. 2.git学习 ...

  7. git内容补充-Git零基础快速入门-苏玲

    https://git-scm.com/book/zh/v2 git历史 集中式版本控制管理:cvs.svn 分布式版本控制管理:git 基本命令 git config --list --global ...

  8. Git基础操作

    配置秘钥 1.检查本机有没有秘钥 检查~/.ssh看看是否有名为d_rsa.pub和id_dsa.pub的2个文件. $ ~/.sshbash: /c/Users/lenovo/.ssh: Is a ...

  9. Python文件基础操作(IO入门1)

    转载请标明出处: http://www.cnblogs.com/why168888/p/6422270.html 本文出自:[Edwin博客园] Python文件基础操作(IO入门1) 1. pyth ...

随机推荐

  1. CF86D

    题解: 莫队分块 分块大小为sqrt(n) 代码: #include<bits/stdc++.h> using namespace std; ; typedef long long ll; ...

  2. Struts2基本使用(三)--数据交互

    Struts2中的数据交互 在Struts2中我们不必再使用request.getParameter()这种方式来获取前台发送到服务器的参数. 我们可以在服务器端的Java类中直接声明一个和前台发送数 ...

  3. docx文件怎样打开 - 转

    如何打开docx文件?在office2007及2010退出多年后,诸如docx.xlsx.pptx类文件越来越多,我们从网络下载或者别人复制过来的这类文件越来越多.docx文件怎样打开呢?下面有图小站 ...

  4. mybatis单笔批量保存

    在上一篇写了接口调用解析返回的xml,并赋值到实体.这一篇主要介绍,如何保存实体数据. 一,xml样例 <?xml version="1.0" encoding=" ...

  5. java并发编程之二--CountDownLatch的使用

    CountDownLatch类 允许一个或多个线程等待直到在其他线程中执行的一组操作完成的同步辅助. CountDownLatch能够使一个线程在等待另外一些线程完成各自工作之后,再继续执行.使用一个 ...

  6. pandas 之 concat

    本文摘自:http://pandas.pydata.org/pandas-docs/stable/merging.html 前提: ide: liuqian@ubuntu:~$ ipython 准备: ...

  7. 【Keras学习】Sequential模型

    序贯(Sequential)模型 序贯模型是多个网络层的线性堆叠,也就是“一条路走到黑”. 可以通过向Sequential模型传递一个layer的list来构造该模型: from keras.mode ...

  8. HDU 4635

    http://acm.hdu.edu.cn/showproblem.php?pid=4635 问:最多加多少条边,使得原图不是强连通图 正向考虑有困难,不妨反向思考,既最少去掉几条边使得原图不是强连通 ...

  9. nginx: [emerg] "fastcgi_pass" directive is duplicate in /etc/nginx/sites-enabled/default:57

    /************************************************************************************************ * ...

  10. andriod的数据传递方法

    在一个主界面(主Activity)上能连接往许多不同子功能模块(子Activity上去),当子模块的事情做完之后就回到主界面,或许还同时返回一些子模块完成的数据交给主Activity处理.这样的数据交 ...