版本控制工具之Git

git三层结构

工作区working directory

暂存区staging index

版本库git directory(Repository)

Git文件的四种状态

untracked未被追踪

Modified在工作区修改了未添加到暂存区

Staged   添加到了暂存区未添加到版本库

Committed数据被安全的存储在本地库中

Git的安装

下载..

$ git --version :查看git版本

几个简单的控制台命令使用

$ cd D://www/20160218/  :进入

$ mkdir blog                         :创建文件夹

$ ls                                          :文件夹列表

Git基本命令

常用操作:

$ git init 初始化git仓库,会添加.git文件

$ git config :git config --global user.name HaaappyLi          : 配置用户名

git config --global user.email [email protected]  :配置邮箱

git config --list                                                          : 查看配置结果

$ git status:查看文件状态

$ git add :git add filename  :将文件添加到暂存区

git add .                 :将工作目录下的所有修改的文件添加到暂存区

$ git commit :git commit –m ‘description’   :将暂存区的文件添加到版本库

git commit –am ‘description’ :跳过git add添加到暂存区命令(直接将工作区所有已跟踪文件提交,未跟踪(untracked)的命令不能使用)

$ git log: 查看提交历史

删除操作

$ git rm filename

$ git mv oldname newname

撤销操作

$ git commit --amend:撤销上次提交并将暂存区文件重新提交

原理: git commit --amend 会用一个新的 commit 更新并替换最近的 commit。

$ git checkout --filename:拉取暂存区的文件并将其替换工作区的文件也即撤销对工作区文件的修改。

原理: git checkout 会把工作区文件修改到之前记录的某个状态。你可以提供一个你想返回的分支名,默认的是 HEAD。

记住git checkout -- [file] 是一个危险的命令,这很重要。 你对那个文件做的任何修改都会消失 - 你只是拷贝了另一个文件来覆盖它。 除非你确实清楚不想要那个文件了,否则不要使用这个命令。

$ git reset HEAD filename:拉取最近一次提交到版本库中的这个文件到暂存区,该操作不影响工作区。

HEAD:头指针,指向最新的提交,可以将HEAD换成版本号来拉取任何一个版本。

git reset HEAD filename拉到暂存区再git chechout撤销工作区文件

原理: git reset会把你的代码库历史返回到指定的 SHA 状态。就像是这些提交从来没有发生过。默认保留工作区文件。

$ git reset --option 版本号:option 有 hard,soft,mixed

:在调用时加上 --hard 选项可以令 git reset 成为一个危险的命令(可能导致工作目录中所有当前进度丢失!);不加选项地调用 git reset 并不危险,工作区文件并不会被修改。  它只会修改暂存区域。

github基本使用

以下为初学时阅读英文文档的总结:

第一步:创建仓库
仓库可以包含项目所需的所有东西,建议在创建的时候勾选README,并里面填写项目相关信息。
1.右上角+
2.命名
3.写项目简介
4.选择 Initialize this repository with a README

第二步:创建分支
仓库默认只有一个master分支。
我们用分支来做各种尝试和编辑,然后将结果提交到master分支。
当你在master下创建你一个分支时,就会在新分支上产生一个master的副本,如果之后其他人更新了master,你也可以拉取这些更新到你的分支。
修复bug和功能,完成后合并到master。

第三步:提交更改
保存更改称为commit,每一次commit都有相关的提交信息,用于解释为什么做更改,以便其他人理解。
1.点击要更改的文件
2.点击小铅笔
3.更改内容
4.写更新原因和描述
5.提交

HTTPS和SSH的区别

在git中clone项目有两种方式:HTTPS和SSH,它们的区别如下: 
HTTPS:不管是谁,拿到url随便clone,但是在push的时候需要验证用户名和密码;
SSH:clone的项目你必须是拥有者或者管理员,而且需要在clone前添加SSH Key。SSH 在push的时候,是不需要输入用户名的,如果配置SSH key的时候设置了密码,则需要输入密码的,否则直接是不需要输入密码的。

拉取提交流程:

1、使用git clone https://github.com/xxxxxxx/xxxxx.git克隆到本地

2、对拉取的项目进行编辑

3、git add .

4、git commit -m "提交说明"

5、git push origin master 将本地更改推送到远程master分支。

时间: 2024-11-12 08:05:15

版本控制工具之Git的相关文章

版本控制工具git入门

版本控制工具的历史 不说了,放张图 两者的区别:集中式需要一个中心服务器放置最新的文件,需要联网操作.分布式可以再不联网的情况下操作,前提要拥有版本库 git安装  略 github注册 略 如何在github上创建一个新的项目 如何克隆到本地 cd到想要克隆的文件夹下面 git clone 路径 例如: git clone https://github.com/xiaobie123/deomtext1.git

Git版本控制工具学习

Git代码管理工具学习 分布式管理工具:git 相比较svn它更加的方便,基本上我们的操作都是在本地进行的. Git文件的三种状态:已提交,已修改,以暂存. 已提交:表示文件已经被保存到本地数据库. 已修改:修改了某个文件. 以暂存:把修改的文件放到了下次提交保存的清单中. Git只关心文件系统的整体是否发生了变化,其它的版本控制工具更多的关心文件的内容是否发生变化. Git基本的工作流程 1:在工作目录中修改某些文件,2:对修改后的文件进行快照,然后保存到暂存区域.3:提交更新,将保存在暂存区

版本控制工具 GIT入门教程

GIT 在团队中的中作流程 1.每个程序员在自己的分支上进行开发 2.主程序猿/Leader合并程序员程序 3.程序员之间也可以对一下提交冲突进行合并 下载和安装 GIT官方网址:http:// git - scm.com 具体怎么装,一直点下一步就是了(PS:windows) 创建一个库 启动git bash,由于是刚刚安装,所以还没有任何工程库 创建一个目录 mkdir gitproject 进入gitproject目录 cd gitproject 初始化工程库 git init 系统给出提

Git 时间,版本控制工具的高级用法

现在的你对于 Git 应该完全不会感到陌生了吧,通过了之前两节内容的学习,你已经掌握了 Git 中很多的常用命令,像提交代码这种简单的操作相信肯定是难不倒你的. 那么打开 Git Bash,并进入到 BaiduMapTest 这个项目的根目录,然后执行提交操作: git init git add . git commit -m "First Commit." 这样就将准备工作完成了,下面就让我们开始学习关于 Git 的高级用法. 1.  分支的用法 分支是版本控制工具中比较高级且比较重

基于GitLab与Git Extensions搭建版本控制工具

1.背景 大家知道GitHub是现在非常流行的代码托管工具,但是如果有些项目不想开源的话,则需要付费,因此萌生了自己搭建一个Git的版本控制工具,供内网使用.GitLab则是个好的选择,但是GitLab只支持Linux版本,因此则需在Windows服务器上搭建个Linux的虚拟机,我选择了Ubuntu.此时服务器端选型成功,客户端需要安装什么呢,我选择了Git Extensions,用它是因为他直接集成了Git以及KDiff3工具,更方便的是这个工具自带Putty,可以很方便地生成SSH公钥和私

Git版本控制工具---本地版本库的常用操作

  [正文] 在上一章节中,我们学习了关于Git最基本的用法,包括安装Git.创建版本库,以及提交本地代码.本章节中将学习更多的使用技巧.即:Git版本控制工具(一)----git的安装及创建版本库 我们先要做好准备工作,将某个项目创建版本库,我这里就新建一个Android项目GitTest,创建一个版本库.打开Git Bash,进入到这个项目的根目录下,然后执行git init命令,如下图所示: 这样,准备工作就做好了. 一.忽略文件: 版本库已经创建好了,接下来我们需要提交项目中的代码,但是

Git版本控制工具使用:Error pulling origin: error: Your local changes to the following files would be overwritten by merge

摘自: CSDN 逆觞 git在pull时,出现这种错误的时候,可能很多人进进行stash,相关stash的请看:Error pulling origin: error: Your local changes to the following files would be overwritten by merge 但是发现stash后还是会出现:Error pulling origin: error: The following untracked working tree files woul

Linux系统CentOS6.5 64位注册、安装git版本控制工具

一.描述 本文描述Linux系统CentOS6.5 64位注册.安装git版本控制工具整个过程,其中Git是一个分布式的版本控制系统,最初由Linus Torvalds编写,用作Linux内核代码的管理.作为开源代码库以及版本控制系统,Github拥有140多万开发者用户.随着越来越多的应用程序转移到了云上,Github已经成为了管理软件开发以及发现已有代码的首选方法. 二.git安装和使用步骤 1.在GitHub官网上注册免费账号并且建立自己代码仓库(Repository) GitHub官网注

开源分布式版本控制工具 —— Git 之旅

转自:http://www.ibm.com/developerworks/cn/opensource/os-cn-tourofgit/ Git 主张的分布式代码库与文件快照的设计思想,相对于传统 CVS.SVN 等集中式.文件差异式版本控制工具是一种挑战与颠覆.Git 带来了离线提交.轻量级分支等诸多便利.不过,也有人质疑 Git 的复杂性,并由此拔高了学习成本,某种程序上影响了开发者使用或者迁移 Git 的项目进度,笔者同样感同身受,这也是本文的出发点. 不同于各种 Git 用法指南,本文在介