一、Git简单介绍

Git是眼下世界上最先进的分布式版本号控制系统。其特点简单来说就是:高端大气上档次!

二、Windows上Git安装

最早Git是在Linux上开发的。非常长一段时间内。Git也仅仅能在Linux和Unix系统上跑。只是,慢慢地有人把它移植到了Windows上。如今,Git能够在Linux、Unix、Mac和Windows这几大平台上正常执行了。

msysgit是Windows版的Git,从http://msysgit.github.io/下载。然后按默认选项安装就可以。安装完毕后,在開始菜单里找到“Git”->“Git
Bash”,蹦出一个类似命令行窗体的东西,就说明Git成功安装!

安装完毕后。还须要最后一步设置,在命令行输入:

$ git config --global user.name "Your Name"
$ git config --global user.email "email@example.com"

由于Git是分布式版本号控制系统,所以,每一个机器都必须自报家门:你的名字和Email地址。

三、创建版本号库

什么是版本号库呢?版本号库又名仓库,英文名repository。你能够简单理解成一个文件夹,这个文件夹里面的全部文件都能够被Git管理起来,每一个文件的改动、删除,Git都能跟踪。以便不论什么时刻都能够追踪历史。或者在将来某个时刻能够“还原”。

所以,创建一个版本号库很easy。首先,选择一个合适的地方,创建一个空文件夹:

$ mkdir learngit
$ cd learngit
$ pwd
/Users/michael/learngit

pwd命令用于显示当前文件夹。假设你使用Windows系统,为了避免遇到各种莫名其妙的问题,请确保文件夹名(包括父文件夹)不包括中文。

第二步,通过git init命令把这个文件夹变成Git能够管理的仓库:

$ git init
Initialized empty Git repository in /Users/michael/learngit/.git/

这样版本号库就创建好了。

自己主动创建的.git的文件夹。这个文件夹是Git来跟踪管理版本号库的,没事千万不要手动改动这个文件夹里面的文件,不然改乱了,就把Git仓库给破坏了。

第三步,往版本号库加入文件:全部的版本号控制系统,其实仅仅能跟踪文本文件的修改。比方TXT文件,网页。全部的程序代码等等,Git也不例外。其实使用windows的童鞋千万不要使用Windows自带的记事本编辑不论什么文本文件。

建议你下载Notepad++取代记事本。

<span style="color:#000000;">//假如在当前文件夹创建了一个read.txt文件

$git add read.txt; //把文件加入到仓库

$git commit -m "wrote a readme file"  //把文件提交到仓库,-m后面输入的是本次提交的说明,能够输入随意内容</span>

四、经常使用命令:

除了git add 和 git commit,其它经常使用命令例如以下:

1、git status:查看仓库当前的状态

2、git diff file:查看文件详细改动的内容,file是文件名称

3、git log:显示从近期到最远的提交日志

4、cat read.txt:查看文件内容

5、git reflog:查看你使用的命令历史

6、git checkout -- read.txt:撤销对read.txt的全部改动,不要丢掉了--

7、git reset --hard id/^HEAD:回退版本号,id是版本号号。^HEAD是指向最新版本号的指针

8、git rm read.txt:删除read.txt文件,记住要用commit提交才干真正从仓库删除。假设误删。能够用git checkout命令撤销

9、git remote add origin git@github.com:dwqs/csdn.git:将本地仓库和Github上的远程仓库关联,记得将dwqs换成你自己的账户名,csdn.git是你在GitHub上创建的仓库

10、git push -u origin master:把本地库的全部内容推送到远程库上,第一次提交加上-u,第二次提交能够不用了:git push origin master

11、git clone git@github.com:dwqs/csdn.git:把远程仓库csdn.git克隆到本地

12、git checkout -b name:创建name分支。该命令等价于:git branch name;git checkout name

13、git branch:查看当前分支

14、git checkout name:切换到name分支

15、git merge name:合并某分支到当前分支

16、git branch -d name:删除name分支

17、git branch -D name:强行删除name分支

18、git push origin name:将name分支推送到远程仓库

19、git remote -v:查看远程仓库信息

20、git tag:查看标签名

21、git tag tagname:创建标签

22、git show tagname:查看标签信息。

注意:标签不是按时间顺序列出,而是按字母排序的。

23、git tag -a tagname -m tagdesc:创建带说明的标签

24、git tag -d tagname:删除指定标签

25、git push origin tagname:推送某个标签到远程仓库

26、git push origin --tags:一次性推送所有尚未推送到远程的本地标签

27、git push origin :refs/tags/tagname:能够删除一个远程标签。

28、git config --global alias.ps push:将ps作为push的别名。此时,git ps 等价于git push


Git学习笔记总结和注意事项的更多相关文章

  1. Git学习笔记与IntelliJ IDEA整合

    Git学习笔记与IntelliJ IDEA整合 一.Git学习笔记(基于Github) 1.安装和配置Git 下载地址:http://git-scm.com/downloads Git简要使用说明:h ...

  2. Git学习笔记(10)——搭建Git服务器

    本文主要记录了Git服务器的搭建,以及一些其他的配置,和最后的小总结. Git远程仓库服务器 其实远程仓库和本地仓库没啥不同,远程仓库只是每天24小时开机为大家服务,所以叫做服务器.我们完全可以把自己 ...

  3. Git学习笔记(四)

    一.忽略特殊文件 在Git工作区的根目录下创建一个特殊的.gitignore文件,然后把要忽略的文件名填进去,Git就会自动忽略这些文件. 不需要从头写.gitignore文件,GitHub已经为我们 ...

  4. git 学习笔记6--remote & log

    git 学习笔记6--remote & log 创建SSH Keys ssh-keygen -t rsa -C "1050244110@qq.com" 本地关联远程 git ...

  5. Git学习笔记---协作的一般流程

    一般的操作流程 1.pull 王小坤与另一个同事张大炮一起开发一个项目,张大炮昨天修改了数据库读写的api,优化了执行速度,并把read()函数改名成了Read(),下午下班之前把这些代码push到服 ...

  6. 【转帖】Git学习笔记 记录一下

    本文内容参考了廖雪峰老师的博文,并做了适当整理,方便大家查阅. 原帖地址 https://wangfanggang.com/Git/git/ 常用命令 仓库初始化 - git init 1 git i ...

  7. [转]Git学习笔记与IntelliJ IDEA整合

    Git学习笔记与IntelliJ IDEA整合 一.Git学习笔记(基于Github) 1.安装和配置Git 下载地址:http://git-scm.com/downloads Git简要使用说明:h ...

  8. GIT学习笔记(1):创建版本库

    GIT学习笔记(1):创建版本库 创建版本库 1.创建合适目录并初始化为仓库 版本库即需要交由Git进行版本控制的目录,其下所有文件的修改.删除,Git都能跟踪还原. 说明:初始化后,当前目录下会多出 ...

  9. GIT学习笔记(5):变基

    GIT学习笔记(5):变基rebase 变基 引入变基 在Git中整合来自不同分支的修改主要有两种方法:merge以及rebase. 整合分支最容易的方法是merge,他会把两个分支的最新快照以及两者 ...

随机推荐

  1. dojo 学习笔记

    1  因为Dijit包括了一系列的UI组件,他绑定了4个支持的主题:nihilo, soria, tundra 和claro.每个主题包括了一系列的图片和CSS文件来控制组件的外观.CSS文件必须显示 ...

  2. 自己定义View----点击滑动选择字母列表

    因为项目须要,也不想使用网上的写好的控件,于是作死的自己定义了一个控件.特此记录下成功.效果例如以下: 首先须要把全部的字母绘制出来: private static String letters[] ...

  3. 如何在自己的Activity中去控制EditText的焦点

    在进入一个Activity时,如果这个Activity中有EditText,则这个EditText会自动获取焦点,然后就会弹出软键盘,这样给用户体验不是很好.所以一般会通过代码控制让EditText不 ...

  4. android adb经常使用的命令

    1.adb--- 订购屏幕截取  :adb shell screencap -p | sed 's/\r$//' > outputs.png 2.jni ---命令    :$NDK/ndk-b ...

  5. java--折半查找

    /* 折半查找 */ class TwoSearch { //折半查找可以提高效率,但必须得保证是有序的数组 public static int halfSearch(int[] arr,int ke ...

  6. ps快速删除圆角图片旁白的白色区域方法

    简单实用5招的ps快速删除圆角图片旁白的白色区域方法 1.图像-模式-rgb颜色 2.双击背景取消图层锁定 3.用魔棒工具点击要删除的区域 4.delete删除 5.另存为png图片

  7. js中使用this的一些注意事项

    先看看这段代码 var x =9; var fobj ={ x:1, test:function(callback){ var x= 2; callback(); } } function pp(){ ...

  8. U3D navmesh寻路简单示范

    要求:放置一个BOSS,创建几个路标,自动循环这几个路标形成回路,变成自动巡逻,并配合animator系统的控制开关控制BOSS的动作 1.先设置好BOSS 中animator的控制开关,只看Run和 ...

  9. spring和mybatis整合进行事务管理

    1.声明式实现事务管理 XML命名空间定义,定义用于事务支持的tx命名空间和AOP支持的aop命名空间: <beans xmlns="http://www.springframewor ...

  10. shell学习之常用命令总结

    1.find命令 主要用途:主要用来做文件查找. 使用方法:查找文件的方式可以基于:文件名,文件时间属性,文件的所有者和组,文件权限属性,文件类型属性,文件大小,另外可以指定 查找目录的深度,排除指定 ...