git常用命令(一)
2017-05-08 21:21
211 查看
部署环境:
安装git命令
本地仓库的初始化
git的工作区、暂存区、提交到仓库的命令
大体结构如下图:
各部分的具体命令详解:
工作区 —> 暂存区 —> 本地仓库
git add 将工作区中的文件上传到暂存区
git status 查看当前的工作目录状态
git commit 将暂存区的文件上传到本地仓库中
本地仓库 <—> 工作区
git log 查看提交日志
git reset –hard 版本回退以及回到未来版本
git reflog 查看引用日志以及版本到达将来
放弃暂存区
(使用git add 将文件添加到暂存区之后使用下面的命令删除暂存区中的内容)
放弃工作区的修改
(比如:在3.txt中增加或是删除一行,可以使用这个命令直接回退)
git stash 将暂存区中的内容保存的某一位置
恢复暂存区的状态
git中分支的使用
git中标签的使用
github官网使用
[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官网使用