首页 > 代码库 > Git基础

Git基础

1,安装git

  系统环境

  技术分享

yum -y install git

2,配置信息

  git config --global user.name "liuyueming"

  git config --global user.email "274670459@qq.com"

3,创建版本库

     mkdir  /learngit

  cd /learngit

  进入新建目录用过git init命令把这个目录变成Git可以管理的仓库

  git init

  生成隐藏文件 .git用来跟踪管理版本库

技术分享

4,把文件添加到版本库

  所有的版本控制系统,其实只能跟踪文本文件的改动,比如TXT文件,网页,所有的程序代码等等,Git也不例外。

 要求所有文档都是纯文本格式

      编写一个readme.txt

This is my learn git
Git is goog               

  第一步 用命令git add告诉Git,把文件添加到仓库

  没有任何提示

  第二步 用命令git commit告诉Git,把文件提交到仓库

技术分享

PS:-m后面添加注释,最好每次都详细描叙修改内容

  也可以一次性提交多个文件

$ git add file1.txt
$ git add file2.txt file3.txt
$ git commit -m "add 3 files."

5,修改文件

  修改readme.txt增加一个单词distributed

   运行git status命令看结果

  

[root@salt-master learngit]# git status
# 位于分支 master
# 尚未暂存以备提交的变更:
#   (使用 "git add <file>..." 更新要提交的内容)
#   (使用 "git checkout -- <file>..." 丢弃工作区的改动)
#
#	修改:      readme.txt
#
修改尚未加入提交(使用 "git add" 和/或 "git commit -a")

  以上命令提示告诉我们文件被修改过但是没有被提交

  使用git diff 查看修改内容

  

diff --git a/readme.txt b/readme.txt
index 4538fec..72c720c 100644
--- a/readme.txt
+++ b/readme.txt
@@ -1,2 +1,2 @@
-This is my learn git
+This is my learn git distributed
 Git is goog

  提交

git add readme.txt
git commit -m "add distrabuted"

  技术分享

6,版本回退  

  git log查看每次修改信息

  技术分享

  git log --pretty=oneline 查看版本号

  技术分享

  版本回退

  git reset --hard HEAD^

  在查看版本状态

  技术分享

  怎么回到删除的那个版本呢

  git reset --hard 6340f7

  PS:要知道版本号,不需要写全,Git会自动去找,也不能太短了,一般6位够了。Git的版本回退速度非常快,因为Git在内部有个指向当前版本的HEAD指针,当你回退版本的时候,Git仅仅是把指向改变。

  如果回退了某个版本但是,又想恢复到最新版本,但是忘记记录版本号怎么办,使用git reflog命令记录每一次命令。

小结

  • HEAD指向的版本就是当前版本,因此,Git允许我们在版本的历史之间穿梭,使用命令git reset --hard commit_id

  • 穿梭前,用git log可以查看提交历史,以便确定要回退到哪个版本。

  • 要重返未来,用git reflog查看命令历史,以便确定要回到未来的哪个版本。

7,工作区和暂存区

  工作目录learngit就是一个工作区

  使用git add把文件添加进去,实际上是把文件修改放置到暂存区

  使用git commit,实际上是把暂存区的所有内容提交到当前分支,默认当前分支为master

8,管理修改

  Git跟着并管理的是修改,而非文件

  所有修改必须先git add 提交到暂存区才能git commit 及git commit只能是暂存区的文件

   如果修改文件但是没有首先git add直接git commit 会出现以下提示

  技术分享

9,撤销修改

  一,修改readme.txt内容如果发现改错了,还没有添加到缓存区,使用git checkout --file放弃修改,相当于撤销

  二,如果已经提交到缓存区使用git reset HEAD file退出缓存区,再执行第一步操作

  三,已经提交了不合适的修改到版本库时,想要撤销本次提交,参考版本回退,不过前提是没有推送到远程库

 

Git基础