# 设置用户
~~~
$ git config --global user.name "Your Name"
$ git config --global user.email "email@example.com"
~~~
# 创本地建仓库
1. 选择一个合适的地方,创建一个空目录,设置这个目录为Git仓库
~~~
$ mkdir learngit
$ git init
Initialized empty Git repository in /Users/michael/learngit/.git/
~~~
2. 向仓库中添加文件(readme)
~~~
$ git add readme.txt
$ git add -A 提交所有变化
$ git add -u 提交被修改(modified)和被删除(deleted)文件,不包括新文件(new)
$ git add . 提交新文件(new)和被修改(modified)文件,不包括被删除(deleted)文件
~~~
3. 向仓库中提交文件
~~~
$ git commit -m "提交说明"
~~~
* `commit`命令一次可以提交多个文件可以先用`add`命令添加多个文件在进行提交
* `add`(注意,可反复多次使用`add`命令,添加多个文件;)
~~~
$ git add file1.txt
$ git add file2.txt file3.txt
$ git commit -m "add 3 files."
~~~
4. 查看文件修改状态
`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")
~~~
5. 查看文件修改内容
`git diff`:顾名思义就是查看difference,显示的格式正是Unix通用的diff格式
~~~
$ git diff readme.txt
diff --git a/readme.txt b/readme.txt
index 46d49bf..9247db6 100644
--- a/readme.txt
+++ b/readme.txt
@@ -1,2 +1,2 @@
-Git is a version control system.
+Git is a distributed version control system.
Git is free software.
~~~
6. 查看提交日志
`git log`:命令显示从最近到最远的提交日志,我们可以看到3次提交,如果嫌输出信息太多,看得眼花缭乱的,可以试试加上`--pretty=oneline`
~~~
$ git log
$ git log --pretty=oneline
~~~
7. 回退版本
~~~
$ git reset --hard HEAD^
~~~
首先,Git必须知道当前版本是哪个版本,在Git中,用`HEAD`表示当前版本,也就是最新的提交`1094ad`,上一个版本就是`HEAD^`,上上一个版本就是`HEAD^^`,当然往上100个版本写100个`^`比较容易数不过来,所以写成`HEAD~100`。
8. 查看提交的历史命令
用`git reflog`查看命令历史,以便确定要回到未来的哪个版本。
9. 撤回修改
~~~
git checkout -- readme.txt
~~~
命令`git checkout -- readme.txt`意思就是,把`readme.txt`文件在工作区的修改全部撤销,这里有两种情况:
* 一种是`readme.txt`自修改后还没有被放到暂存区,现在,撤销修改就回到和版本库一模一样的状态;
* 一种是`readme.txt`已经添加到暂存区后,又作了修改,现在,撤销修改就回到添加到暂存区后的状态。
总之,就是让这个文件回到最近一次`git commit`或`git add`时的状态。
10. 删除文件
~~~
$ rm test.txt //删除提交的文件 (本地文件)
$ git rm test.txt //删除仓库中的文件
$ git checkout -- test.txt //本地删除错误可以回复
~~~
# 远程仓库
1. 创建本地SSH Key:
~~~
$ ssh-keygen -t rsa -C "youremail@example.com"
Generating public/private rsa key pair.
Enter file in which to save the key (/c/Users/Administrator/.ssh/id_rsa):
~~~
* 一路下一步,找到key保存的文件`/c/Users/Administrator/.ssh/id_rsa`: 找到文件`id_rsa.pub`粘贴出key放到GitHub上对应的位置。
* 这样远程仓库就创建好了。
2. 添加远程库
* 在github上创建仓库 并复制出地址 `git@github.com:Bruceztl/learngit.git`
~~~
$ git remote add origin git@gitee.com:Bruceztl/boot-project.git
~~~
* 请千万注意,把上面的`Bruceztl`替换成你自己的GitHub账户名,否则,你在本地关联的就是我的远程库,关联没有问题,但是你以后推送是推不上去的,因为你的SSH Key公钥不在我的账户列表中。
3. 把本地库的所有内容推送到远程库上
~~~
$ git push -u origin master
~~~
* 把本地库的内容推送到远程,用`git push`命令,实际上是把当前分支`master`推送到远程。
* 由于远程库是空的,我们第一次推送`master`分支时,加上了`-u`参数,Git不但会把本地的`master`分支内容推送的远程新的`master`分支,还会把本地的`master`分支和远程的`master`分支关联起来,在以后的推送或者拉取时就可以简化命令。
4. 提交本地代码到仓库
~~~
$ git push origin master
~~~
* 把本地`master`分支的最新修改推送至GitHub,现在,你就拥有了真正的分布式版本库!
5. 从远程仓库克隆
~~~
$ git clone git@github.com:michaelliao/gitskills.git
~~~
* 注意把Git库的地址换成你自己的,然后进入`gitskills`目录看看,已经有`README.md`文件了:
# 创建分支
1. 创建一个新的分支
~~~
$ git checkout -b dev
~~~
2. 切换到分支
~~~
$ git branch dev
$ git checkout dev
~~~
* `git checkout`命令加上`-b`参数表示创建并切换,相当于以下两条命令:
3. 查看当前分支
~~~
$ git branch
~~~
`git branch`命令会列出所有分支,当前分支前面会标一个`*`号。
* 我们现在造作的就是`dev`分支了,
- 第一章Java环境安装
- 1.Jdk环境安装
- 1.1Windows
- 1.2Linux
- 1.3MaxX
- 2.Tomcat环境
- 3.Git环境配置
- 3.1Git_Windows
- 3.2Git_Linux
- 3.3Git基本操作命令
- 4.SVN配置
- 4.1TortoiseSVN_Windows
- 5.maven安装
- 5.1Maven_Windows
- 6.RabbitMQ安装
- 6.1RabbitMQ_Windows
- 6.2RabbitMQ_CentOS
- 6.3RabbitMQ_MacOS
- 7.mysql安装
- 7.1Mysql_Windows
- 7.2Mysql_CentOS
- 7.3 Mysql_Ubuntu
- 7.4Mysql_MacOS
- 8.Redis安装
- 8.1Redis_windows
- 8.2Redis Desktop Manage
- 8.3Redis_linux&macOS
- 9.zookeeper安装
- 9.1Zookeeper_Windows
- 12.kafka安装
- 10.nigix安装
- 1.1MacX
- 1.2Linux
- 11.docker安装
- 第二章Python环境
- 1.Python安装
- 2.conda环境安装
- 第三章Rasa环境安装
- 1.MITIE安装
- 第四章VUE环境安装
- 1.Node环境安装