1.git的安装
centos:yum install git
ubuntu:apt-get install git
2.创建版本库
mkdir /git
cd /git
git init #初始化版本库
git config --global user.name "your name"
git config --global user.email "email address"
3.常用的命令
将文件添加到仓库:git add readme.txt 注意:可反复使用多次,添加多个文件
将文件提交到仓库:git commit -m "描述信息"
$ git commit readme.txt -m "test"
[master (root-commit) 8229cf5] test
1 file changed, 1 insertion(+)
create mode 100644 readme.txt
查看当前仓库的状态:git status
$ git status
On branch master
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git checkout -- <file>..." to discard changes in working directory)
modified: readme.txt
no changes added to commit (use "git add" and/or "git commit -a")
查看前后的差异:git diff readme.txt
$ git diff readme.txt
diff --git a/readme.txt b/readme.txt
index 68a4528..77363fb 100644
--- a/readme.txt
+++ b/readme.txt
@@ -1 +1,3 @@
-this is a test file
\ No newline at end of file
+this is a test file
+
+add one line
\ No newline at end of file
查看commit的日志信息:git log
$ git log
commit 3dfb03a268dcf2c020ffbf26f68391e26fb01c76 (HEAD -> master)
Author: 田路刚 <541979581@qq.com>
Date: Thu Mar 28 16:36:46 2019 +0800
add 1 line
commit 8229cf53380b64d8b093b8c01d014697232afc7b
Author: 田路刚 <541979581@qq.com>
Date: Thu Mar 28 16:31:26 2019 +0800
test
还原到上一个版本:git reset,首先,Git必须知道当前版本是哪个版本,在Git中,用HEAD
表示当前版本,也就是最新的提交1094adb...
(注意我的提交ID和你的肯定不一样),上一个版本就是HEAD^
,上上一个版本就是HEAD^^
,当然往上100个版本写100个^
比较容易数不过来,所以写成HEAD~100
。
$ git reset --hard HEAD^
HEAD is now at 8229cf5 test
#reset到指定的版本
$ git reset --hard "COMMIT ID"
git reflog:查看命令历史,用于回到未来的某个版本
$ git reflog
8229cf5 (HEAD -> master) HEAD@{0}: reset: moving to HEAD^
3dfb03a HEAD@{1}: commit: add 1 line
8229cf5 (HEAD -> master) HEAD@{2}: commit (initial): test
可见,刚才回退找不到的版本为3dfb03a
$ git reset --hard 3dfb03a
HEAD is now at 3dfb03a add 1 line
git checkout:创建分支并切换
$ git checkout -b dev
Switched to a new branch 'dev'
git checkout命令加上-b参数表示创建并切换,相当于以下两条命令:
$ git branch dev
$ git checkout dev
Switched to branch 'dev'
git branch:查看当前分支
$ git branch
* dev
master
git merge :合并指定分支到当前分支
$ git merge dev
Updating d46f35e..b17d20e
Fast-forward
readme.txt | 1 +
1 file changed, 1 insertion(+)
git branch -d:删除分支
$ git branch -d dev
Deleted branch dev (was b17d20e).