這篇文章為大家帶來了關於Git的相關知識,其中主要介紹了一些常用的操作命令,透過案例進行解析,下面就一起來看一下怎樣給他的知識點總結吧,希望對大家有幫助。
推薦學習:《Git教學》
Git 是一個開源的分散式版本控制系統,用於敏捷且有效率地處理任何或小或大的項目,是目前最受歡迎的一個版本管理工具。
SVN是集中式版本控制系統,版本庫是集中放在中央伺服器的,而工作的時候,用的都是自己的電腦,所以首先要從中央伺服器哪裡得到最新的版本,然後再乾活,幹完後,需要把自己做完的活推送到中央伺服器。集中式版本控制系統是必須連網才能運作,如果在區域網路還可以,頻寬夠大,速度夠快,如果在網路下,如果網路速慢的話,就納悶了。
Git是分散式版本控制系統,那麼它就沒有中央伺服器的,每個人的電腦就是一個完整的版本庫,這樣,工作的時候就不需要連網了,因為版本都是在自己的電腦上。既然每個人的電腦都有完整的版本庫,那多個人該如何協作呢?比如說自己在電腦上改了檔案A,其他人也在電腦上改了檔案A,這時,你們兩之間只要把各自的修改推送給對方,就可以互相看到對方的修改了。
最早Git是在Linux上開發的,很長一段時間內,Git也只能在Linux和Unix系統上跑。不過,慢慢地有人把它移植到Windows了。現在,Git可以在Linux、Unix、Mac和Windows這幾大平台上正常運作了。
要使用Git
,第一步當然是安裝Git
了。從 https://git-for-windows.github.io下載(網速慢的請移步國內鏡像),然後按預設選項安裝即可。
下載完成後,開啟進行安裝(請依照下圖進行設定)。
接下來就只需要靜靜的等待安裝完成了,完成以後在桌面或任意資料夾的空白位置右鍵,出現下圖所示的兩個功能表列即表示安裝成功。
安裝完後會彈出一個指令框,我們還需要做最後一步操作,設定標識符。由於 git 是分散式管理工具,所以需要設定使用者名稱和郵箱作為識別。在彈出框中輸入下面代碼即可。
git config --global user.name "Your Name"git config --global user.email "email@example.com"
注意:git config --global 參數,有了這個參數,表示你這台機器上所有的Git倉庫都會使用這個配置,當然你也可以對某個倉庫指定的不同的使用者名稱和郵箱。
#主要是為了查看操作的效果
連結:https://pan.baidu.com/s/ 19lIBz4IFwurxNvzXGgTqRg
提取碼:fmte
對Git 進行操作之前你得先創建一個Git 倉庫,在你需要的位置建立一個空資料夾即可。然後進入該資料夾,然後右鍵點擊空白處,點擊 Git Bash Here 對目前資料夾進行 Git 的操作。
git init
cd:进入某个目录 mkdir:创建一个文件 pwd:显示当前的目录路径 鼠标选中就是复制,粘贴可以右键粘贴,也可以用使用快捷键:Shift+INS
git add a.txt
git add .
git commit -m "双引号里面是注释——你的提交说明"
原因:commit
可以一次提交很多文件,所以你可以多次add
不同的文件
例如:
git add file1.txt #单个添加文件到暂存区git add file2.txt file3.txt #多个添加文件到暂存区git add . #添加当前文件夹下所有文件到暂存区git commit -m "add 3 files." #提交所有暂存区的文件
使用下面命令检查当前文件状态
git status
结果:没有需要提交的文件了;
创建一个新的文件 b.txt,内容为 bbb,再来检查文件状态
结果:存在未跟踪文件没有添加到暂存区和提交到版本库;
添加 b.txt 到暂存区之后,再来检查文件状态
结果:暂存区中有一个新的 b.txt 文件没有添加到版本库中;
提交 b.txt 到版本库之后,然后把 b.txt 内容从 bbb 修改为 bbba,再来检查文件状态
结果:被改变的文件 b.txt 没有添加到暂存区且没有提交
git add b.txtgit commit -m "提交修改的 b.txt 文件"
git log
注意:使用上面命令信息多的话会进入 log 模式,想要退出,在英文输入法的前提下按 q 就可以退出了
git log --pretty=oneline
git log -1
git log #查看全部历史提交记录git log --pretty=oneline #精简显示所有历史提交记录git reflog #可以查看所有分支的所有操作记录(包括已经被删除的 commit 记录和 reset 的操作)git log -p #查看全部提交历史并展示每次修改的内容git log -2 #查看最近2次提交历史(注意:后面的数字是可以自定义的,也就是说,这种写法是 git log -n 的体现)git log -p -2 #查看最近2次提交历史并展示修改的内容git log --stat #查看提交历史,并展示摘要内容(摘要会列出修改的文件以及每个文件中修改了多少行)
Git
必须知道当前版本是哪个版本,在Git
中,用HEAD
表示当前版本,上一个版本就是HEAD^
,上上一个版本就是HEAD^^
,当然往上100个版本写100个^比较容易数不过来,所以写成HEAD~100
。git reset --hard HEAD^
git reset --hard
git reset --hard 6ec9373d22d1a869b67681a39dc04df34292133b
结果:从查看的历史版本结果可以看出我们回退到了 “提交 a.txt” 版本
git reflog
结果:reflog 可以查看所有分支的所有操作记录(包括已经被删除的 commit 记录和 reset 的操作)
git reset --hard 7a42e7b
结果:历史版本信息可以看出我们已经回退到了我们想要的版本
例如:我们把 b.txt 文件内容修改为为 bbbaaa,然后用下面代码查看,可以看出我们修改了什么
git diff # 查看不同版本之间的文件差异
推荐使用:第一次修改 -> git add -> 第二次修改 -> git add -> git commit
注意:建议每次 commit 之前先检查是否有文件没有被 add
git checkout -- filename
git checkout -- filename
可以丢弃工作区的修改:– 后面是一个空格
命令 git checkout -- readme.txt
意思就是,把 readme.txt
文件在工作区的修改全部撤销,这里有两种情况:
一:readme.txt
自修改后还没有被放到暂存区(git add
),现在,撤销修改就回到和版本库一模一样的状态;
二:readme.txt
已经添加到暂存区后,又作了修改,现在,撤销修改就回到添加到暂存区后的状态。
总之,就是让这个文件回到最近一次 git commit
或 git add
时的状态。
注意:git checkout -- file
命令中的 --
很重要,没有 --
,就变成了**“切换到另一个分支”**的命令,我们在后面的分支管理中会再次遇到 git checkout
命令
通常直接在文件管理器中把没用的文件删了,或者用rm
命令删除,例如:删除 b.txt
git rm b.txt
删除步骤
git rm b.txt --cached
b.txt 处于未跟踪状态,也就是从暂存区删除。
特别说明:处于未跟踪状态只是没有存在于暂存区,历史提交记录中的记录依然存在。
所谓的暂存区仅仅是.git目录下的一个index文件罢了,这也是为了什么被称为index(索引),当删除暂存区内容的时候,其实就是删除index文件中的内容,.git/objects目录中的内容不会被删除。
rm .git/index
git branch #查看分支 git branch <name> #创建分支git checkout <name> #切换分支git checkout -b <name> #创建 + 切换分支git merge <name> #将某分支合并到当前分支git branch -d <name> #删除分支</name></name></name></name></name>
命令 | 作用 |
---|---|
git config --global user.name “Your Name” | 设置用户名 |
git config --global user.email “email@example.com” | 设置邮箱 |
命令 | 作用 |
---|---|
git init | 初始化 git,创建 .git 文件 |
命令 | 作用 |
---|---|
cd | 进入某个目录 |
mkdir | 创建一个文件 |
pwd | 显示当前的目录路径 |
鼠标选中就是复制 | 复制 |
直接鼠标右键粘贴 / 快捷键:Shift+INS | 粘贴 |
命令 | 作用 |
---|---|
git add a.txt | 添加 a.txt 到暂存区 |
git add . | 添加当前根目录下的所有文件到暂存区 |
git commit -m “双引号里面是注释——你的提交说明” | 把暂存区的文件提交到版本库(一次全部提交) |
命令 | 作用 |
---|---|
git status | 查看文件状态(检查是否有未提交文件) |
#指令 | 作用 |
---|---|
查看全部歷史提交記錄 | |
精簡顯示所有歷史提交記錄 | |
git reflog | #可以查看所有分支的所有操作記錄(包括已經刪除的commit 記錄和reset 的操作)|
查看全部提交歷史並展示每次修改的內容 | |
git log -2 | 查看最近2次提交歷史(注意:後面的數字是可以自訂的,也就是說,這種寫法是git log -n 的體現) |
git log --stat | 查看提交歷史,並展示摘要內容(摘要會列出修改的檔案以及每個檔案中修改了多少行) |
---|---|
7. 版本回退與復原 | 指令 |
回退到上一個版本 | |
回退到上N個版本 |
git reflog 和git reset --hard 合併使用 | 恢復回退的版本 |
---|---|
8. 檢視不同版本的差異 | 指令 |
git diff | 看不同版本之間的檔案差異 |
---|---|
#9. 撤銷修改 |
指令 作用
|
一: | readme.txt | 自修改後還沒有被放到暫存區(
---|---|
已經加入到暫存區後,又作了修改,現在,撤銷修改就回到暫存區後的狀態。 |
10. 刪除 |
git rm b.txt | |
---|---|
git rm b.txt --cached | |
rm .git/index | |
#11. 分支管理 | |
指令 | |
#git branch |
以上是案例詳解Git常用操作指令的詳細內容。更多資訊請關注PHP中文網其他相關文章!