git常用命令(一)

部署环境:

[root@miner_k ~]# cat /etc/redhat-release 
CentOS Linux release 7.2.1511 (Core) 


安装git命令

[root@miner_k ~]# yum -y install git

本地仓库的初始化

[root@miner_k ~]# mkdir git-test
[root@miner_k ~]# cd git-test
[root@miner_k git-test]# git init
初始化空的 Git 版本库于 /root/git-test/.git/
[root@miner_k git-test]# ls -a
.  ..  .git

git的工作区、暂存区、提交到仓库的命令

大体结构如下图:

这里写图片描述

各部分的具体命令详解:

工作区 —> 暂存区 —> 本地仓库

git add 将工作区中的文件上传到暂存区

格式:git add <filename>  

[root@miner_k git]#git add 1.txt  
或者
[root@miner_k git]#git add -A   将工作区中所有的文件上传到暂存区

git status 查看当前的工作目录状态

[root@miner_k git]# git status
# On branch master
#
# Initial commit
#
# Changes to be committed:
#   (use "git rm --cached <file>..." to unstage)
#
#   new file:   1.txt
#


[root@miner_k git]# git status
# On branch master
nothing to commit (working directory clean)

git commit 将暂存区的文件上传到本地仓库中

格式:git commit -m “描述” 

[root@miner_k git]# git commit -m "add 1.txt"
[master (root-commit) 204d4fb] add 1.txt
 1 files changed, 1 insertions(+), 0 deletions(-)
 create mode 100644 1.txt

本地仓库 <—> 工作区

git log 查看提交日志

[root@miner_k git]# git log 
commit 1295784c9e68b89aafffe7b0fa7b932f75099a84
Author: miner_k <miner_k@example.com>
Date:   Mon May 8 21:06:51 2017 +0800

    add 2.tx

commit 204d4fb7021b215988a7c5faf20627fbaaef3198
Author: miner_k <miner_k@example.com>
Date:   Mon May 8 20:56:28 2017 +0800

    add 1.txt

[root@miner_k git]# git log --pretty=oneline    #一行显示
1295784c9e68b89aafffe7b0fa7b932f75099a84 add 2.tx
204d4fb7021b215988a7c5faf20627fbaaef3198 add 1.txt

[root@miner_k git]# git log --pretty=oneline --abbre-commit  #能看出分支结构
fatal: unrecognized argument: --abbre-commit
[root@miner_k git]# git log --pretty=oneline --abbrev-commit
1295784 add 2.tx
204d4fb add 1.txt

git reset –hard 版本回退以及回到未来版本

git reset --hard HEAD^      #将工作区的内容切换到上一个版本
git reset --hard HEAD^^     #将工作区的内容切换到上两个版本
git reset --hard HEAD~10    #将工作区的内容回退10个版本

格式:git reset --hard commit_id  
回退到指定的版本(commit_id通过git log获取)

[root@miner_k git]# git reset --hard 204d4f
HEAD is now at 204d4fb add 1.txt

git reflog 查看引用日志以及版本到达将来

[root@miner_k git]# git reflog   
204d4fb HEAD@{0}: 204d4f: updating HEAD
1295784 HEAD@{1}: commit: add 2.tx

[root@miner_k git]# git reset --hard 1295784  #回到将来的版本
或者
[root@miner_k git]# git reset --hard HEAD@{1}

放弃暂存区

(使用git add 将文件添加到暂存区之后使用下面的命令删除暂存区中的内容)

格式:git reset HEAD <file>
[root@miner_k git]# git reset HEAD 3.txt 

放弃工作区的修改
(比如:在3.txt中增加或是删除一行,可以使用这个命令直接回退)

格式:git checkout -- <file>
[root@miner_k git]# git checkout -- 3.txt

git stash 将暂存区中的内容保存的某一位置

通过下面的测试可以看出git stash能将暂存区中的内容存放到某一空间,但不会对工作区中修改的文件做存储

[root@miner_k git]# git status
# On branch dev
# Changes to be committed:
#   (use "git reset HEAD <file>..." to unstage)
#
#   new file:   dev3.txt
#
# Untracked files:
#   (use "git add <file>..." to include in what will be committed)
#
#   dev4.txt
[root@miner_k git]# git stash
Saved working directory and index state WIP on dev: 20a6f2d append 3.txt on dev
HEAD is now at 20a6f2d append 3.txt on dev
[root@miner_k git]# git status
# On branch dev
# Untracked files:
#   (use "git add <file>..." to include in what will be committed)
#
#   dev4.txt
nothing added to commit but untracked files present (use "git add" to track)
git stash list

[root@miner_k git]# git stash list
stash@{0}: WIP on dev: 20a6f2d append 3.txt on dev

恢复暂存区的状态

git stash pop  恢复到最后一个位置,并删除记录
或者
git stash apply stash@{0}
git stash drop stash@{0}

扩展链接

本地连接到github的仓库(一般常使用github的账号和密码确认身份的方式连接github的仓库)
git中分支的使用
git中标签的使用
github官网使用

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值