重点摘要: 创建了一个文件后首先先通过git add . 添加到暂缓区,然后通过git commit -m "提交的名字" 提交到本地仓库,最后才可能push到远程仓库。

   1. 个人开发流程 工作区  -> 暂缓区  -> 本地仓库 。

     2. 多人开发流程  工作区  -> 暂缓区  -> 本地仓库 -> 远程仓库。

一、创建仓库的基本命令

1>  创建代码仓库

$ git init

2>  配置用户名和邮箱

$ git config user.name TheYouth
$ git config user.email TheYouth@l26.com

* 以上两个命令会将用户信息保存在当前代码仓库中

3>  如果要一次性配置完成可以使用一下命令

$ git config --global user.name TheYouth
$ git config --global user.email TheYouth@l26.com

* 以上两个命令会将用户信息保存在用户目录下的 .gitconfig 文件中

4>  查看当前所有配置

$ git config -l

5>如在桌面创建了一个文件夹(你的项目文件夹),添加一个main.c的文件

$ touch main.c

6>查看当前代码库的状态

$ git status

结果如图

#未添加的状态

# 将文件添加到代码库

$ git add main.c

添加后的状态

# 将修改提交到代码库

$ git commit -m "添加了main.c"

提示:

*   在此一定要使用 -m 参数指定修改的备注信息

*   未添加(git add .)之前,文件存在工作区内,只有添加了才会添加的缓存区内(准备提交),commit 后即可提交。

*   提交之前,必须先添加。

6> 添加多个文件

$ touch Person.h Person.m

$ git add .

$ git commit -m "添加了Person类"

$ open Person.h

$ git add .

$ git commit -m "增加Person类属性"

7> 别名和日志

$ git config alias.st status
$ git config alias.ci "commit -m"

# 查看所有版本库日志

$ git log

# 查看指定文件的版本库日志

$ git log 文件名

# 配置带颜色的log别名

git config --global alias.lg "log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit"

git  log 后效果如图:

提示:在git中,版本号是一个由SHA1生成的哈希值

8>版本回归(回滚)

# 回到当前版本,放弃所有没有提交的修改(意思是如果你在你的项目上的工作区内添加了一些内容,将回归到最后提交的版本里去)
$ git reset --hard HEAD
# 回到上一个版本(回归到上一个版本)
$ git reset --hard HEAD^
# 回到之前第3个修订版本
$ git reset --hard HEAD~
# 回到指定版本号的版本 (回归到指定的版本号)
$ git reset --hard e695b67 # 查看分支引用记录
$ git reflog

代码管理工具 --- git的学习笔记一《git的个人开发》的更多相关文章

  1. git的学习笔记(二):git远程操作

    1.创建ssh key ssh-keygen -t rsa -C "your_email@example.com" 执行命令后会在用户的家目录生成.ssh的隐藏文件夹,文件夹里有公 ...

  2. git的学习笔记(一):git本地操作

    1.Git介绍 Git是一个开源的分布式版本控制软件,用以有效.高速的处理从很小到非常大的项目版本管理. Git 最初是由Linus Torvalds设计开发的,用于管理Linux内核开发. Git ...

  3. 代码管理工具 --- git的学习笔记二《git的工作原理》

    通过几个问题来学习代码管理工具之git 一.git是什么?为什么要用它?使用它的好处?它与svn的区别,在Mac上,比较好用的git图形界面客户端有 git 是分布式的代码管理工具,使用它是因为,它便 ...

  4. 代码管理工具之git的学习

    1.代码管理工具git的学习  http://www.ruanyifeng.com/blog/2015/12/git-cheat-sheet.html 2.github的使用帮助   https:// ...

  5. 代码管理工具 Git

    之前一直使用微软的代码管理工具TFS(Team Foundation Server)..NET CORE 2.0的发布后,考虑到.NET CORE项目可以跨平台,准备把项目迁移到.NET CORE 环 ...

  6. 代码管理工具-Git基础介绍及常用技巧

    目录 Git起源 基本概念 Branch.HEAD和Commit tree Git分支 git merge 和 git rebase 的区别和抉择 与远程仓库的交互 关于一些实际开发场景的问题和解决方 ...

  7. Git代码管理工具

    Git代码管理工具 Git 是分布式的源代码管理工具,这点区别于svn -让源代码可以被追溯,主要是记录了每次的更新了什么,如果新版本不想用,那么则可以退回之前的版本 -Git 是Linux之父当年为 ...

  8. 通过代码管理工具 git 完成一次完整的代码管理过程

    1.从公共远程fork一份自己的本地远程之后,从本地远程 clone 到本地 2.将本地代码跟公共远程代码做关联配置 git remote add upstream https://github.co ...

  9. GIT: 分布式开发 代码管理工具使用命令大全

    代码管理工具: GIT     什么是GIT? Git是一款免费.开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目 Git是一个开源的分布式版本控制系统,用以有效.高速的处理从很小到非常 ...

  10. 代码管理工具 (含git、npm、gulp)

    1 Git 分布式代码管理工具(基于Linux,可在本地进行提交)代码同时储存在本地和服务器中 ① Git基本操作命令 (1)初始化,创建初始化仓库 git init ------- 文件初始化,初始 ...

随机推荐

  1. Oracle_数据处理

    数据操纵语言 DML(Data Manipulation Language – 数据操纵语言) 可以在下列条件下执行: - 向表中插入数据 - 修改现存数据 - 删除现存数据* 事务是由完成若干项工作 ...

  2. Android开发之基本控件和详解四种布局方式

    Android中的控件的使用方式和iOS中控件的使用方式基本相同,都是事件驱动.给控件添加事件也有接口回调和委托代理的方式.今天这篇博客就总结一下Android中常用的基本控件以及布局方式.说到布局方 ...

  3. PHP_环境配置_python脚本_2017

    Apache配置 需要安装:VC2015 httpd-2.4.16-win32-VC14.zip VC14就是2015的环境. 又比如:php-5.6.12-Win32-VC11-x86 VC11就是 ...

  4. Java 素数 prime numbers-LeetCode 204

    Description: Count the number of prime numbers less than a non-negative number, n click to show more ...

  5. docker对数据卷容器进行备份

    转载请注明出处 官网的数据以及各大博客都没有对这个的具体说明,本人也是理解了好久. 我们使用docker的过程中,使用共享的数据卷是经常的,那么.我们要怎么进行备份呢?   首先,我们得了解下面4个命 ...

  6. [JSP]JSP 简介

    1.1 概述 1.1.1 什么是 JSP? JSP 全称是 Java Server Pages,是一种动态网页开发技术. 它与 PHP.ASP.ASP.NET 等语言类似,运行在服务端的语言. JSP ...

  7. 【QuickHit项目实例】

    关于java面向对象QuickHit项目实例 Game类:用来得到随机出现的字符串(随机打印的字符串,然后玩家进行输入字符串) public class Game { private String s ...

  8. 关于for循环的几个小练习,例如奇数偶数,阶乘,求和等

    1 .100以内的奇数和偶数 var js = ""; var os = ""; for(var i=1;i<101;i++) { if(i%2 == 0 ...

  9. Java transient关键字

    Volatile修饰的成员变量在每次被线程访问时,都强迫从主内存中重读该成员变量的值.而且,当成员变量发生变化时,强迫线程将变化值回写到主内存.这样在任何时刻,两个不同的线程总是看到某个成员变量的同一 ...

  10. linux(七)__shell脚本编程

    一.什么是shell脚本 shell除了是命令解释器之外还是一种编程语言,用shell编写的程序类似于DOS下的批处理程序. 它是用户与操作系统之间的一个接口. shell脚本语言非常擅长处理文本类型 ...