您的位置:首页 > 其它

git常用命令(一)

2017-05-08 21:21 211 查看
部署环境:

[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官网使用
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: