美文网首页
[Git] 代码管理器学习

[Git] 代码管理器学习

作者: happyxhz | 来源:发表于2019-05-05 11:23 被阅读0次

Date:2019-05-05
Mood: 开工第一天,好像没有什么事诶!五月的生产任务还没下来可以学学玩玩,开熏。舟山的风景很好,推荐一下...但是需要提前安排好车票船票,不然被卡在集散中心也是很痛苦的。附一张白沙岛旅游在渔家傲拍摄的照片:


渔家傲.png

正文:

0. 初始设置

git config --global user.name "sue"
git config --global user.email "xxx@163.com"

1. 创建一个版本库

mkdir gittest
cd gittest
git init

git init这条命令讲该目录变成一个版本库(repository),输入完此命令收到以下提示:

Initialized empty Git repository in /mnt/fvg01vol8/project/hesy_test/gittest/.git/

2. 将文件添加到版本库

创建一个readme文档,然后使用如下命令,该命令执行完没有任何提示信息:

git add readme.txt

用命令git commit告诉git你做了啥:-m之后的信息是你本次提交的说明,以后将在此看到你的改动记录

git commit -m 'wrote a readme file'

提示信息:(一个文件被改动,插入了两行)

[master (root-commit) eaadf4e] wrote a readme file
 1 file changed, 2 insertions(+)
 create mode 100644 readme.txt

3. 修改文件

修改了readme文件后,用git status查看状态,用git diff查看文件修改情况

$ git diff readme.txt
diff --git a/readme.txt b/readme.txt
index 46d49bf..9247db6 100644
--- a/readme.txt
+++ b/readme.txt
@@ -1,2 +1,2 @@
-Git is a version control system.
+Git is a distributed version control system.
 Git is free software.

提交修改版:

git add readme.txt
git status
git commit -m "add distributed"

4. 查看记录

git log
git log --pretty=oneline

两条命令都是查看git的记录的,第一条显示的结果比较长,这里不展示了,而第二条将每次的git commit的记录列出(如下所示),主要为两列,第一列中的一长串是commit id(版本号),由SHA1计算所得

d80e93af7b44b2833c2f55a03aa9a9f8779c46fa append GPL
19e7a542df117d6f0705bcaf949d1ebabdf1eb70 add distributed
f62c5cd18b1ede8173ac70d2d8b9090d455cfa40 write a readme file

5. 版本之间互相切换*(真牛)

版本之间切换,主要命令"git reset",这项技能真厉害!!示例:

git reset --hard HEAD^

命令说明:HEAD可以理解为当前所在版本,HEAD则为前一个版本,HEAD^为上上一个版本,前一百个版本写成HEAD~100,键入完此命令后,你再cat查看文件,会发现变成了上一个版本。此时查看记录git log,会发现...后面修改的版本不见了。我擦,是不是慌的一匹?

$git log
commit 19e7a542df117d6f0705bcaf949d1ebabdf1eb70
Author: hesy <happyxhz@163.com>
Date:   Sun May 5 10:59:42 2019 +0800

    add distributed

commit f62c5cd18b1ede8173ac70d2d8b9090d455cfa40
Author: hesy <happyxhz@163.com>
Date:   Sun May 5 10:37:25 2019 +0800

    write a readme file

返回未来的版本,使用如下命令:--hard后面跟的是commit id的编号,不需要输入完整,会自动匹配。

git reset --hard d80e93

如果不记得commit id了,请使用如下命令git reflog,请自行测试,神奇的hin呐

6. 理解一下工作区和暂存区

个人理解是:git保存的是记录,而不是文件,你修改完了文件,如果没有git add,使用git status的时候会提示你文件没有提交,你使用git add提交后会存到暂存区(stage或index),但是没有输入git commit,下次修改后,使用git commit ,保存的是前一次修改的记录,即将暂存区的内容提交到当前分支(master,指向master的一个指针称为HEAD)。

7.撤销修改

使用命令git checkout -- file
详细参考:


gitcheckout.png

8.删除文件

如果是要删除,使用如下命令:

git rm readme.txt
git commit -m 'rm readme.txt'

如果是误删了,可以使用如下命令找回原文件,找回的是最后修改提交版的:

git checkout -- readme.txt

今天就更新到这里啦,以上信息是自己测试所得,详细请参考廖雪峰老师GIT学习

相关文章

  • [Git] 代码管理器学习

    Date:2019-05-05Mood: 开工第一天,好像没有什么事诶!五月的生产任务还没下来可以学学玩玩,开熏。...

  • [Git] 代码管理器学习2

    Date: 2019-05-08 单个文件的版本撤回 ?有个问题:就是git log显示的是该文件夹下,或者说re...

  • 1-git版本控制

    版本控制 发展历史CVS : 远古时代的版本控制软件SVN : 集中式源代码管理器GIT : 分布式源代码管理器集...

  • HBuilderX git插件使用说明

    easy-git, 是基于HBuilderX API开发的可视化图形Git插件,界面参考vscode源代码管理器。...

  • HBuilderX Git 操作技巧

    easy-git, 是基于HBuilderX API开发的可视化图形Git插件,界面参考vscode源代码管理器。...

  • 代码库管理流程和开发中的一些问题

    一 代码仓库管理 有效做好代码库的管理,对于复用和维护有着极佳的作用.我们公司现在使用git版本管理器来对代码进行...

  • Git

    Git 开始大量写代码做自己的项目、实现想法后,越来越觉得需要一个好的版本管理器来管理自己的代码。Git是一个大家...

  • 2018 11 8

    学习使用git管理代码

  • Git出现冲突error: Your local changes

    由于公司目前实行开发模块化,所以原来用的SVN代码管理器全部迁移到Git上去了,原来用过git现在已经忘的差不多了...

  • 2018 11 9

    学习使用git管理代码版本

网友评论

      本文标题:[Git] 代码管理器学习

      本文链接:https://www.haomeiwen.com/subject/usdcoqtx.html