?學習視頻推薦
http://【黑馬程序員Git全套教程,完整的git項目管理工具教程,一套精通git】 https://www.bilibili.com/video/BV1MU4y1Y7h5/?p=5&share_source=copy_web&vd_source=2b85bd9be9213709642d908906c3d863
1、Git環境配置
安裝Git
Git下載鏈接
https://git-scm.com/downloads
點擊右鍵出現
Git GUI Here(Git提供的圖形界面工具)
和
Git Bash Here(Git提供的命令行工具)
則安裝成功
1.1 基本配置
打開Git Bash
1.1.1設置用戶信息
git config --global user.name "zhangfeifei"git config --global user.email "zhangfeifei@163.com"
1.1.2 查看配置信息
git config --global user.name
git config --global user.email
1.1.3 為常用指令配置別名
打開用戶目錄,創建.bashrc文件
部分windows系統不允許用戶創建點號開頭的文件,可以打開gitBash,執行 touch ~/.bashrc
在.bashrc中輸入以下內容
#用于輸出git提交日志
git log --pretty=oneline --all --graph --abbrev-commit
#用于輸出當前目錄所有文件及基本信息
alias ll='ls -al'#改完后利用以下命令生效source ~/.bashrc
1.2 獲取本地倉庫
要使用Git對我們的代碼進行版本控制,首先需要獲得本地倉庫
- 1)在電腦的任意位置創建一個空目錄(例如test)作為我們的本地Git倉庫
- 2)進入這個目錄中,點擊右鍵打開Git bash窗口
- 3)執行命令git init
- 4)如果創建成功后可在文件夾下看到隱藏的.git目錄。
1.3 基礎操作指令
Git工作目錄下對于文件的修改(增加、刪除、更新)會存在幾個狀態,這些修改的狀態會隨著我們執行Git的命令而發生變化。
- git add (工作區——>暫存區)
- git commit (暫存區——>本地倉庫)
1.3.1 未跟蹤提交相關案例
創建 file01.txt文件
touch file01.txt
?
?查看當前狀態
git status
?
?把所有的修改文件放入暫存區
git add .
?再次查看當前狀態,發現file01.txt文件已經被放置到暫存區
最后的目的是把修改的文件放置到倉庫進行版本控制
因此用?git commit -m "提示修改了什么" 命令提交暫存區修改的部分
git commit - "add file01.txt"
再次查看狀態,發現緩存區已經清空
利用git log 命令查看提交到了哪里
git log
1.3.2 修改提交相關案例
對file01.txt文件進行編輯修改?,i插入文字,esc退出編輯,:wq!保存退出
vim file01.txt
?查看文件當前狀態
?所有的修改放置緩存區
git add .
?查看狀態
?提交至倉庫
git commit -m "update file 01"
查看提交日志
git log
1.3.3 版本回退
git reset --hard commitID
commitID 用git log命令查看 (在命令行能看見commitID)
commitID 還能用git reflog查看(在命令行不能看見commitID)
只要不刪除文件夾,可以任意的往前往后調整版本
?1.3.4 用 .gitignore設置哪些文件無需Git管理
創建file02.a的文件
touch .file02.a
創建 .gitignore,在這個文件里列出哪些文件無需Git管理即可
touch .gitignore
編輯.gitignore,所有以.a結尾的文件均無需git管理
查看狀態
?發現file02.a文件沒有被提示
1.4 分支
分支是為了多個開發人員之間的開發工作互不影響,因此有了分支的概念?
1.4.1 查看有哪些分支
git branch
?1.4.2 創建分支
git branch dev01
?
1.4.3 切換分支,head指向誰,當前就在哪個分支
git checkout dev01
?以下命令分支不存在也能切換,即先創建再切換,用的更多
git checkout -b dev01
1.4.4 合并分支
剛剛在master分支提交了一個.gitignore文件,現在在dev01創建file02.txt文件,并且提交,如下(還是用上面的簡寫配置后看上去清晰!!!,不然就要記憶這么多的命令,git log --pretty=oneline --all --graph --abbrev-commit
)
- 對于master分支,有.gitignore文件
- 對于dev01分支,有file02.txt文件
兩個分支對應兩個開發人員開發的功能,下一步要對這兩個分支功能進行合并,那應該怎么樣做呢?
一般是把其他的分支合并到master分支上去
首先切換到master分支上
git checkout master
然后把需要合并的dev01分支合并至master分支上去
git merge dev01
隨后進入該界面,按ESC,再按:WQ退出即可
查看日志
可以發現在master分支上,dev01分支指向了master分支,代表合并成功。
1.4.5 刪除分支
如果有的分支不需要了,就需要對其進行刪除
命令如下
#刪除分支時進行檢查
git branch -d dev01#強制刪除分支,不進行檢查
git branch -D dev01
查看當前分支
刪除分支dev01
1.4.5 合并沖突
設想一下,如果有兩分支對同一個文件的同一行進行了修改,那么在合并的時候,就會有沖突,那應該如何解決呢?
當前有一個master分支,有一個file01.txt文件,文件中內容如下
現在創建一個dev分支對file01.txt文件進行修改,修改后的內容如下
再把master分支上對file01.txt文件進行修改,修改后的內容如下
現在打印日志如下
這時如何把dev分支合并到master上會發生什么呢?
直接找到出問題的文件進行處理,再重新提交即可