# 設置用戶
~~~
$ 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環境安裝