当前位置:首页 > git+jenkins > 正文内容

Git常规使用

5年前 (2019-09-01)git+jenkins682

1. 创建数据-提交数据

image.png

2. git四种状态

image.png


3. git基础命令

3.1提交本地文件到暂存区域


3.1.1、查看git的状态

[root@git git_data]# git status
# 位于分支 master
# 初始提交
无文件要提交(创建/拷贝文件并使用 "git add" 建立跟踪)


3.1.2、在工作目录创建三个文件

[root@git git_data]# touch a b c
[root@git git_data]# git status
# 位于分支 master
#
# 初始提交
#
# 未跟踪的文件:
#   (使用 "git add <file>..." 以包含要提交的内容)
#
#       a
#       b
#       c
提交为空,但是存在尚未跟踪的文件(使用 "git add" 建立跟踪)


3.1.3、提交一个文件到暂存区域

[root@git git_data]# git add a       # 使用git add . 或者* 添加目录中所有改动过的文件
[root@git git_data]# git status
# 位于分支 master
#
# 初始提交
#
# 要提交的变更:
#   (使用 "git rm --cached <file>..." 撤出暂存区)
#
#       新文件:    a
#
# 未跟踪的文件:
#   (使用 "git add <file>..." 以包含要提交的内容)
#
#       b
#       c


3.1.4、撤出暂存区文件

[root@git git_data]# git rm --cached c
rm 'c'
[root@git git_data]# git status
# 位于分支 master
#
# 初始提交
#
# 要提交的变更:
#   (使用 "git rm --cached <file>..." 撤出暂存区)
#
#       新文件:    a
#       新文件:    b
#
# 未跟踪的文件:
#   (使用 "git add <file>..." 以包含要提交的内容)
#
#       c


3.1.5、删除文件

1.先从暂存区撤回到工作区、然后直接删除文件
git rm --cached c
rm -f c

2.直接从暂存区域同工作区域一同删除文件命令
git rm -f b


3.2、提交到本地仓库


3.1.1、提交暂存区文件到本地仓库

[root@git git_data]# git commit -m "commit a"    # 提交到本地仓库
[master(根提交) b4017a8] commit a
1 file changed, 0 insertions(+), 0 deletions(-)
create mode 100644 a

[root@git git_data]# git status
# 位于分支 master
无文件要提交,干净的工作区


3.1.2、修改文件名称


使用linux命令修改文件名
[root@git git_data]# mv a a.txt

使用git命令删除文件
[root@git git_data]# git rm --cached a 

重新添加文件到暂存区
[root@git git_data]# git add a.txt

提交到本地仓库
[root@git git_data]# git commit -m "rename a.txt a"

第二种方法:直接使用git命令改名
[root@git git_data]# git mv a.txt a


3.1.3、修改文件内容


[root@git git_data]# echo aaa > a
[root@git git_data]# git diff a         # 比对本地工作目录和暂存区文件的不同
diff --git a/a b/a
index e69de29..72943a1 100644#
--- a/a
+++ b/a
@@ -0,0 +1 @@
+aaa

[root@git git_data]# git add a         # 提交a文件到暂存区域、在用git diff是相同的
[root@git git_data]# git diff --cached a    # 比对的是暂存区和本地仓库文件的不同处
diff --git a/a b/a
index e69de29..72943a1 100644
--- a/a
+++ b/a
@@ -0,0 +1 @@
+aaa

[root@git git_data]# git commit -m "modified a"  # 提交后在比对则暂存区和本地仓库内容相同


3.3、查找和回滚代码文件内容


3.3.1、查看历史的git commit快照操作


[root@git git_data]# git log              # 查看历史的git commit快照操作
commit 4c57a605997f511149bfec53d9018b503e77f961     # 哈希唯一标识的字符串
Author: qmf <qmf@qq.com>                # 作者个人信息
Date:   Thu Aug 23 07:54:23 2018 +0800      # 时间
    modified a                    # -m 个人写的提交描述信息

[root@git git_data]# git log --oneline         # 一行简单的显示commit信息
4c57a60 modified a

[root@git git_data]# git log --oneline --decorate   # 显示当前的指针指向哪里
4c57a60 (HEAD, master) modified a

[root@git git_data]# git log -p      # 显示具体内容的变化
[root@git git_data]# git log -1      # 只显示1条内容


3.3.2、恢复历史数据


1.只更改了当前目录
[root@git git_data]# echo "333" >> a    # 写入数据
[root@git git_data]# git checkout -- a   # 从暂存区覆盖本地工作目录

2.修改了本地目录且同时提交到了暂存区
[root@git git_data]# echo ccc >> a     # 添加新内容
[root@git git_data]# git add .        # 提交到暂存区
[root@git git_data]# git reset HEAD a    # 撤出暂存区


3.3.3、回滚数据到任意位置


[root@git git_data]# git reflog            #查看所有的历史提交记录

[root@git git_data]# git reset --hard 4c57a60    #回滚到任意哈希值位置


总结

git config --global user.name "lizhenya"

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

git config --global color.ui true


git init 初始化目录为仓库

git status 查看git状态

git add a  添加文件到暂存区域

git commit -m "new file a"

git rm --cached a 撤出暂存区的文件

git add . 添加当前所有的文件到暂存区


文件的删除

git rm -f 同时删除工作区域和暂存区域


git改名

git mv a a.txt

git add .

git commit -m "rename a a.txt"


git 比对内容

git diff  比对工作目录和暂存区的不同

git diff --cached  比对暂存区和本地仓库的不同


git 查看历史操作信息

git log 查看历史提交记录

git log --oneline 一条显示提交的历史记录

git log --oneline --decorate 查看当前的指针


git reset --hard e7b04f5 回滚代码至某个版本

git reflog 查看所有的历史提交记录


















“Git常规使用” 的相关文章

Git分支和标签的使用

Git分支和标签的使用

git分支分支即是平行空间,假设你在为某个手机系统研发拍照功能,代码已经完成了80%,但如果将这不完整的代码直接提交到git仓库中,又有可能影响到其他人的工作,此时我们便可以在该软件的项目之上创建一个名叫”拍照功  能”的分支,这种分支只会属于你自己,而其他人看不到,等代码编写完成后再与原...

jenkins的安装和使用

jenkins的安装和使用

jenkins官网 jenkins.ioJenkins是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能。1.安装准备装备两台服务器 关闭selinux和防火墙内存2G 50G+硬盘jenkins  1...