git版本管理工具的上手

git是一个分布式的版本管理工具

和其他集中式版本管理 工具相比具有以下优点:

1.可以在不联网的情况下开发

2.可以方便的建立本地分支

3.本地化的日志,快速获得信息

git命令的使用

mkdir /d/myproject  (在本地d盘下面创建一个名为myproject的本地仓库)

cd /d/myproject    (切换到该目录下)

git init  (初始化为主枝)

git add filename  (添加一个文件的记录   一次只能添加一个文件)

git commit -m "something record"  (提交之前所有添加的文件的记录  )

git status  (查看仓库内文件的状态)

git diff filename  (比较仓库内某文件和之前有什么不同)

git log (输出最近文件修改的记录)

git log --pretty=oneline (单行输出修改记录,比较清爽)

git reset --hard 134sdf(hash值) (git下面的回退命令,其中hash值代表的是之前的版本,HEAD^表示上一个版本 HEAD~n 表示之前第n个版本)

git reflog (会把每个版本的hash值列出来,包括已经被回滚的版本,用他可以找到已经被我们抛弃的版本的hash值,以便我们重新回到那个版本)

git checkout -- "filename" (恢复该文件到暂存区里面的最新版本)

rm "filename" (删除某个文件)

cat "filename" (打印某个文件)

------------------------------------------------------------------------------------------------------------------

Git和其他版本控制系统如SVN的一个不同之处就是有暂存区的概念。

先来看名词解释。

工作区(Working Directory):就是你在电脑里能看到的目录,比如我的learngit文件夹就是一个工作区:

版本库(Repository):工作区有一个隐藏目录“.git”,这个不算工作区,而是Git的版本库。

Git的版本库里存了很多东西,其中最重要的就是称为stage(或者叫index)的暂存区,还有Git为我们自动创建的第一个分支master,以及指向master的一个指针叫HEAD。

分支和HEAD的概念我们以后再讲。

前面讲了我们把文件往Git版本库里添加的时候,是分两步执行的:

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

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

因为我们创建Git版本库时,Git自动为我们创建了唯一一个master分支,所以,现在,commit就是往master分支上提交更改。

你可以简单理解为,需要提交的文件修改通通放到暂存区,然后,一次性提交暂存区的所有修改。

俗话说,实践出真知。现在,我们再练习一遍,先对readme.txt做个修改,比如加上一行内容:

Git is a distributed version control system.
Git is free software distributed under the GPL.
Git has a mutable index called stage.

然后,在工作区新增一个LICENSE文本文件(内容随便写)。

先用git status查看一下状态:

$ git status
# On branch master
# Changes not staged for commit:
#   (use "git add <file>..." to update what will be committed)
#   (use "git checkout -- <file>..." to discard changes in working directory)
#
#       modified:   readme.txt
#
# Untracked files:
#   (use "git add <file>..." to include in what will be committed)
#
#       LICENSE
no changes added to commit (use "git add" and/or "git commit -a")

Git非常清楚地告诉我们,readme.txt被修改了,而LICENSE还从来没有被添加过,所以它的状态是Untracked。

现在,使用两次命令git add,把readme.txt和LICENSE都添加后,用git status再查看一下:

$ git status
# On branch master
# Changes to be committed:
#   (use "git reset HEAD <file>..." to unstage)
#
#       new file:   LICENSE
#       modified:   readme.txt
#

现在,暂存区的状态就变成这样了:

所以,git add命令实际上就是把要提交的所有修改放到暂存区(Stage),然后,执行git commit就可以一次性把暂存区的所有修改提交到分支。

$ git commit -m "understand how stage works"
[master 27c9860] understand how stage works
 2 files changed, 675 insertions(+)
 create mode 100644 LICENSE

一旦提交后,如果你又没有对工作区做任何修改,那么工作区就是“干净”的:

$ git status
# On branch master
nothing to commit (working directory clean)

现在版本库变成了这样,暂存区就没有任何内容了:

小结

暂存区是Git非常重要的概念,弄明白了暂存区,就弄明白了Git的很多操作到底干了什么。

没弄明白暂存区是怎么回事的童鞋,请向上滚动页面,再看一次。

--------------------------------未完待续------------------------------------

git版本管理工具的上手

时间: 2024-12-04 16:21:42

git版本管理工具的上手的相关文章

Git 版本管理工具(一)

Git 是一个分布式版本控制工具,它的作者 Linus Torvalds 是这样给我们介绍 Git  —— The stupid content tracker(傻瓜式的内容跟踪器) 1. Git 背景 Git 最初由Linus Torvalds编写,用于 Linux 内核开发的版本控制工具. Git 与常用的版本控制工具 CVS.Subversion 等不同,它采用了分布式版本库的方式,不必服务器端软件支持,使源代码的发布和交流极其方便. Git 的速度很快,这对于诸如 Linux kerne

GIT版本管理工具

原文:http://blog.csdn.net/ithomer/article/details/7527877 Git 是一个分布式版本控制工具,它的作者 Linus Torvalds 是这样给我们介绍 Git  —— The stupid content tracker(傻瓜式的内容跟踪器) 1. Git 背景 Git 最初由Linus Torvalds编写,用于 Linux 内核开发的版本控制工具. Git 与常用的版本控制工具 CVS.Subversion 等不同,它采用了分布式版本库的方

Git——版本管理工具(一)

Git 是一个分布式版本控制工具,它的作者 Linus Torvalds 是这样给我们介绍 Git  —— The stupid content tracker(傻瓜式的内容跟踪器) 1. Git 背景 Git 最初由Linus Torvalds编写,用于 Linux 内核开发的版本控制工具. Git 与常用的版本控制工具 CVS.Subversion 等不同,它采用了分布式版本库的方式,不必服务器端软件支持,使源代码的发布和交流极其方便. Git 的速度很快,这对于诸如 Linux kerne

Git 版本管理工具命令速查

转自:http://www.jb51.net/article/55442.htm 一. Git 常用命令速查 git branch 查看本地所有分支git status 查看当前状态 git commit 提交 git branch -a 查看所有的分支git branch -r 查看远程所有分支git commit -am "init" 提交并且加注释 git remote add origin [email protected]:ndshowgit push origin mast

Git版本管理工具的使用

一.下载安装 windows: https://git-for-windows.github.io/,下载文件后一路next linux: # ubuntu,debian# $ sudo apt-get install git #centos,redhat系统 $ yum install git 二.使用 1.在开始菜单里找Git Bash 2.自报家门 3.cd进入到你要管理的文件夹下 git init 这个命令会将此文件夹变成版本库 4.新建文件 新建文件以后git status查看,会发现

使用git版本管理工具

git add 提交文件 git commit -m "提交解释" git push origin master 提交到主分支 2.生成ssh-key和添加ssh-key ssh-keygen -t rsa -C "[email protected]" ssh-add ~/.ssh/id_rsa //github和git工具绑定ssh -T [email protected] 3.设置避免提交输入用户名和密码 //.ssh同级目录下生成 touch .git-cre

Git版本管理工具使用

1.Git简介 Git(读音为/g?t/.)是一个开源的分布式版本控制系统,可以有效.高速地处理从很小到非常大的项目版本管理. Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件. 2.安装Git 官方下载链接:https://git-scm.com/downloads/ 3.Git使用 --Git仓储(创建存储文件夹,在文件夹中鼠标右键,选择Git Bash Here) 命令:Git init --配置个人信息 命令:git conf

git版本管理工具push失败解决方案参考

git clone [email protected] 版本后,edit某文件,commit之后,点push,提示报错. 可能有以下原因: 1.权限不够,远程仓库的文件夹(比如/home/git)下面的文件所属用户非git用户,而默认的文件权限通常是644,那么当你用非git用户push的时候,肯定是权限不够的. 解决方法:进入远程仓库的上一级,查看git目录下所有文件的权限,比如: cd /home/git ls -al 更改git目下所有文件目录的文件主为git: chown -R git.

git版本管理工具(二)

1.查看历史版本 ·git log ·git reflog 2.版本回退 ·git reset --hard HEAD^(HEAD代表当前版本) ·HEAD^代表回退到上一个版本 以此类推 ·HEAD~1 和上面同理 ·也可以用git reflog 查看历史版本 用版本号来回退(git reset --hard+版本号) 3.撤销修改 ·运行git status命令会显示当前工作区,暂存区,仓库的状态.当工作区所有代码都提交到仓库,并和仓库保持一致时会显示: On branch master n