第一部分:在本地電腦上創建一個倉庫 (如果是從gitlab上克隆倉庫,這里省略操作)
1)創建本地倉庫


或者(使用git命令如下)
$ git init
Initialized empty Git repository in E:/project/test01/.git/
(注意:
1、此時就在該目錄下,生成一個.git隱藏文件
2、在linux系統上創建版本庫,也是通過cd命令進入到指定目錄,然后通過git init命令
2)配置git
姓名: $ git config --global user.name "louis1986"
郵箱: $ git config --global user.email "testgit@163.com"
差異顏色顯示: $ git config --global color.ui true
(注意:在linux系統上,也是通過以上幾條命令進行配置的)
第二部分:git 的基本操作流程
git的三個重要的概念:
working directory:工作區
staging area: 暫存區
git reposity: 版本庫
* 在工作目錄(工作區)中修改某些文件(例如我們在e:/project/test目錄下新建一個文件)
* 對已經修改的文件,通過git add命令保存到暫存區
* 對保存到暫存區的內容,通過git commit提交到本地版本庫
演示:(以windows的git bash為例)
1)Administrator@WIN-0JU14CFTKDB MINGW32 /e/project/test01 (master)
$ touch readmine (在工作區上新建一個文件)
Administrator@WIN-0JU14CFTKDB MINGW32 /e/project/test01 (master)
$ ll -a
total 8
drwxr-xr-x 1 Administrator 197121 0 一月 26 11:32 ./
drwxr-xr-x 1 Administrator 197121 0 一月 26 11:20 ../
drwxr-xr-x 1 Administrator 197121 0 一月 26 11:32 .git/
-rw-r--r-- 1 Administrator 197121 0 一月 26 11:32 readmine
Administrator@WIN-0JU14CFTKDB MINGW32 /e/project/test01 (master)
$ echo "hello world" > readmine (向這個文件里添加內容,或者你用編輯器編輯好也可以)
Administrator@WIN-0JU14CFTKDB MINGW32 /e/project/test01 (master)
$ git status (查看當前工作區里,git的狀態)
On branch master
No commits yet
Untracked files: (這種狀態,表示該文件沒有被版本庫跟蹤,必須要通過git add命令,才能被版本庫追蹤)
(use "git add <file>..." to include in what will be committed)
readmine
?
第一部分:在本地電腦上創建一個倉庫 (如果是從gitlab上克隆倉庫,這里省略操作)
1)創建本地倉庫
或者(使用git命令如下)
$ git init
Initialized empty Git repository in E:/project/test01/.git/
(注意:此時就在該目錄下,生成一個.git隱藏文件)
2)配置git
姓名: $ git config --global user.name "louis1986"
郵箱: $ git config --global user.email "testgit@163.com"
差異顏色顯示: $ git config --global color.ui true
第二部分:git 的基本操作流程
git的三個重要的概念:
working directory:工作區
staging area: 暫存區
git reposity: 版本庫
在工作目錄(工作區)中修改某些文件(例如我們在e:/project/test目錄下新建一個文件)
對已經修改的文件,通過git add命令保存到暫存區
對保存到暫存區的內容,通過git commit提交到本地版本庫
演示:(以windows的git bash為例)
1)Administrator@WIN-0JU14CFTKDB MINGW32 /e/project/test01 (master)
$ touch readmine (在工作區上新建一個文件)
Administrator@WIN-0JU14CFTKDB MINGW32 /e/project/test01 (master)
$ ll -a
total 8
drwxr-xr-x 1 Administrator 197121 0 一月 26 11:32 ./
drwxr-xr-x 1 Administrator 197121 0 一月 26 11:20 ../
drwxr-xr-x 1 Administrator 197121 0 一月 26 11:32 .git/
-rw-r--r-- 1 Administrator 197121 0 一月 26 11:32 readmine
Administrator@WIN-0JU14CFTKDB MINGW32 /e/project/test01 (master)
$ echo "hello world" > readmine (向這個文件里添加內容,或者你用編輯器編輯好也可以)
Administrator@WIN-0JU14CFTKDB MINGW32 /e/project/test01 (master)
$ git status (查看當前工作區里,git的狀態)
On branch master
No commits yet
Untracked files: (這種狀態,表示該文件沒有被版本庫跟蹤,必須要通過git add命令,才能被版本庫追蹤)
(use "git add ..." to include in what will be committed)
readmine
nothing added to commit but untracked files present (use "git add" to track)
Administrator@WIN-0JU14CFTKDB MINGW32 /e/project/test01 (master)
$ git add readmine (添加到暫存區)
warning: LF will be replaced by CRLF in readmine.
The file will have its original line endings in your working directory.
Administrator@WIN-0JU14CFTKDB MINGW32 /e/project/test01 (master)
$ git status
On branch master
No commits yet
Changes to be committed: (已經被版本庫追蹤,要通過git commit 提交到版本庫)
(use "git rm --cached ..." to unstage)
new file: readmine
Administrator@WIN-0JU14CFTKDB MINGW32 /e/project/test01 (master)
$ git commit -m "add readmine file"
[master (root-commit) b6f4b94] add readmine file
1 file changed, 1 insertion(+)
create mode 100644 readmine
Administrator@WIN-0JU14CFTKDB MINGW32 /e/project/test01 (master)
$ git status (再次查看,發現該工作區里沒有任何改變)
On branch master
nothing to commit, working tree clean
Administrator@WIN-0JU14CFTKDB MINGW32 /e/project/test01 (master)
$ git log (查看這次提交的日志)
commit b6f4b94aa9f0c6aae7f774fc42da6798ea6b1ac8 (HEAD -> master)
Author: louis test123@163.com
Date: Fri Jan 26 11:35:12 2018 +0800
add readmine file
Administrator@WIN-0JU14CFTKDB MINGW32 /e/project/test01 (master)
$ git show b6f4b94aa9 查看本地有那些修改(在windows系統上這里最好用tortoiseGit查看)
commit b6f4b94aa9f0c6aae7f774fc42da6798ea6b1ac8 (HEAD -> master)
Author: louis test123@163.com
Date: Fri Jan 26 11:35:12 2018 +0800
add readmine file
diff --git a/readmine b/readmine
new file mode 100644
index 0000000..3b18e51
--- /dev/null
+++ b/readmine
@@ -0,0 +1 @@
+hello world
Administrator@WIN-0JU14CFTKDB MINGW32 /e/project/test01 (master)
2)然后我再次修改readline文件,看看跟第一次有什么區別
新的文件或目錄,第一次查看狀態是:Untracked files:(表示沒有被版本庫追蹤),然后提交過一次后,第二次修改,查看狀態,就發現是:Changes not staged for commit
$ echo "good" >> readmine
Administrator@WIN-0JU14CFTKDB MINGW32 /e/project/test01 (master)
$ git status (發現這個文件修改)
On branch master
Changes not staged for commit:
(use "git add ..." to update what will be committed)
(use "git checkout -- ..." to discard changes in working directory)
modified: readmine
no changes added to commit (use "git add" and/or "git commit -a")
Administrator@WIN-0JU14CFTKDB MINGW32 /e/project/test01 (master)
$ git add readmine
warning: LF will be replaced by CRLF in readmine.
The file will have its original line endings in your working directory.
Administrator@WIN-0JU14CFTKDB MINGW32 /e/project/test01 (master)
$ git commit -m "second modify readmine"
[master d0a1f54] second modify readmine
1 file changed, 1 insertion(+)
Administrator@WIN-0JU14CFTKDB MINGW32 /e/project/test01 (master)
3)再次修改文件,我們可以直接執行git commit命令,直接提交到版本庫,不添加git add命令
$ echo "world" >> readmine
Administrator@WIN-0JU14CFTKDB MINGW32 /e/project/test01 (master)
$ git commit -a -m " third modify readmine" (添加-a -m)
warning: LF will be replaced by CRLF in readmine.
The file will have its original line endings in your working directory.
[master 460c09f] third modify readmine
1 file changed, 1 insertion(+)
(注意:以上命令在linux系統上,也可以執行的)
4)如果要提交到遠程倉庫(這里一定要慎重,因為提交到遠程倉庫,有問題,回滾會有一定的風險),所以一般情況下,例如開發工程師A,開發A模塊,我們都會基于master主分支,創建一個A分支出來,然后開發每次提交到遠程A分支上,經過測試確定沒有問題后,然后在合并到主分支上
已連接9個文件被修改第二章:Git的基本概念.md
- 第一部分:Git的基本操作
- 第一章:git軟件的安裝
- 第一節:在centos6.8上安裝git-2.3
- 第二節:在windows上安裝git-bash和TortoiseGit軟件
- 第二章: Git的基本概念
- 第一節:git的基本操作
- 第二節:git的深入理解(內部運行機制)
- 第三章:git的文件管理
- 第一節:文件的添加及提交
- 第二節:文件的刪除、回退等
- 第三節:忽略指定格式的文件
- 第四節:撤銷本地倉庫的修改
- 第四章:git的commit對象深入理解
- 第一節:查看提交歷史(git log)
- 第二節:提交查找(git grep)
- 第三節:git版本庫回退
- 第五章: Git分支管理
- 第一節:分支的概念及基本使用
- 第二節:Git分支管理策略
- 第三節:Git分支合并
- 第四節:推送本地分支到遠程分支
- 第七章: Git常用命令詳解
- 第一節:git fetch命令
- 第二節:git pull命令
- 第三節:git push命令
- 第四節: git merge命令
- 第五節:git rebase命令
- 第八章:遠程倉庫管理
- 第二部分: gitlab版本控制系統
- 第一節:"遠程倉庫”版本回退解決方案
- 第二節:遠程分支和本地分支
- 第九章:Git沖突解決
- 第十章:客戶端操作
- 第十章:git常規操作
- 第一章:安裝gitlab服務器
- 第一節:在centos系統上安裝
- 第二章:配置GitLab服務器
- 第一節:關閉gitlab注冊功能
- 第二節:在gitlab上創建項目、組、用戶
- 第三節:漢化gitlab
- 第四節:gitlab配置郵箱通知
- 第五節:gitlab配置https訪問
- 第三章:使用過程常見的故障
- 第三部分: gogs版本控制系統
- 第一章:在centos6上基于二進制包安裝gogs軟件
- 第二章:gogs服務器的配置
- 第一節:gogs服務器上創建項目、用戶
- 第二節:nginx反代gogs,通過https
- 第三節:gogs啟動腳本
- 第四節:git保存密碼到本地
- 第三章:gogs服務器的備份和恢復
- 第一節:gogs備份操作