Git學習筆記記錄 + IDEA中使用git對應的操作

Git學習筆記記錄

1.Git是目前世界上最先進的分佈式版本控制系統。

2.Git是由創建了Linux系統的大佬Linus創建的。

3.CVS及SVN都是集中式的版本控制系統,而Git是分佈式版本控制系統。

那分佈式版本控制系統與集中式版本控制系統有何不同呢?
    首先,分佈式版本控制系統根本沒有“中央服務器”,每個人的電腦上都是一個完整的版本庫,這樣,你工作的時候,就不需要聯網了,因爲版本庫就在你自己的電腦上。既然每個人電腦上都有一個完整的版本庫,那多個人如何協作呢?比方說你在自己電腦上改了文件A,你的同事也在他的電腦上改了文件A,這時,你們倆之間只需把各自的修改推送給對方,就可以互相看到對方的修改了。

    和集中式版本控制系統相比,分佈式版本控制系統的安全性要高很多,因爲每個人電腦裏都有完整的版本庫,某一個人的電腦壞掉了不要緊,隨便從其他人那裏複製一個就可以了。而集中式版本控制系統的中央服務器要是出了問題,所有人都沒法幹活了。

    在實際使用分佈式版本控制系統的時候,其實很少在兩人之間的電腦上推送版本庫的修改,因爲可能你們倆不在一個局域網內,兩臺電腦互相訪問不了,也可能今天你的同事病了,他的電腦壓根沒有開機。因此,分佈式版本控制系統通常也有一臺充當“中央服務器”的電腦,但這個服務器的作用僅僅是用來方便“交換”大家的修改,沒有它大家也一樣幹活,只是交換修改不方便而已。

4.Git在各操作系統中的安裝與配置-安裝Git

Git操作 對應含義
git init 初始化Git倉庫
git add 添加文件
git commit -m 提交併註釋
git status 查看工作區狀態
git diff 查看修改的內容

5.HEAD指向的版本是當前版本。

Git操作 對應含義
git log 查看提交歷史
git reflog 查看命令歷史
git reset –hard 重置爲commit_id版本

6.工作區和暫存區,git add命令實際上就是把要提交的所有修改放到暫存區(Stage)。

版本庫(Repository)
工作區有一個隱藏目錄.git,這個不算工作區,而是Git的版本庫。

Git的版本庫裏存了很多東西,其中最重要的就是稱爲stage(或者叫index)的暫存區,還有Git爲我們自動創建的第一個分支master,以及指向master的一個指針叫HEAD。

需要提交的文件修改通通放到暫存區,然後,一次性提交暫存區的所有修改

7.Git跟蹤並管理的是修改,而非文件。

Git操作 對應含義
git checkout – file 丟棄工作區中的修改
git reset HEAD 丟棄暫存區中的修改
git rm 刪除一個文件

8.遠程倉庫、配置SSH-遠程倉庫

Git操作 對應含義
git remote add origin git@server-name:path/repo-name.git 關聯一個遠程庫
git push origin master 推送master分支內容
git push -u origin master 推送並建立關聯
git clone git@server-name:path/repo-name.git 克隆一個本地庫
git branch 查看分支
git branch 創建分支
git checkout 切換分支
git checkout -b 創建+切換分支
git merge 合併某分支到當前分支
git branch -d 刪除分支
git branch -D 強行刪除分支
git push origin master 推送master分支內容
git push origin master 推送master分支內容

9.合並存在衝突時,手動解決衝突後再提交。

Git操作 對應含義
git stash “儲藏”當前工作現場
git stash list 查看stash列表
git stash apply 恢復stash
git stash drop 刪除stash
git stash pop 彈出棧頂的stash(恢復+刪除)

10.多人協作的工作模式-多人協作

Git操作 對應含義
git remote -v 查看遠程庫信息
git checkout -b branch-name origin/branch-name 在本地創建和遠程分支對應的分支
git branch –set-upstream-to=origin/branch-name branch-name 建立本地分支和遠程分支的關聯

11.rebase操作可以把本地未push的分叉提交歷史整理成直線,使得我們在查看歷史提交的變化時更容易。

Git操作 對應含義
git tag 查看所有標籤
git tag 新建一個標籤(默認爲HEAD)
git tag commit_id 新建一個制定commit_id的標籤
git tag -a -m “blablabla…” 指定標籤信息
git push origin 可以推送一個本地標籤
git push origin –tags 推送全部未推送過的本地標籤
git tag -d 刪除一個本地標籤
git push origin :refs/tags/ 刪除一個遠程標籤

12.忽略某些文件時,需要編寫.gitignore。

13.配置別名、配置文件、搭建Git服務器-配置別名 / 搭建Git服務器

IDEA中使用git對應的操作

以下均爲個人理解,如有不當之處,有勞您指出,感謝!
這裏寫圖片描述

圖標1:Commit Directory = git add + git commit
圖標2:Add = git add
圖標3:與其他分支作比較
圖標4:Show History = git log
圖標5: Revert = git reset HEAD / git checkout – file
這裏寫圖片描述
這塊操作名稱與Git上的指令相同,就不繼續敘述了
這裏可以提一下 Fetch 與 Pull 的區別是什麼?
公式: Pull = Fetch + Merge
Fetch 只拉取下來,不自動合併,Pull拉取下並自動合併。

IDEA界面中,右下角處也可以操作Git:
這裏寫圖片描述

選擇需要操作的項目
這裏寫圖片描述
圖標1:創建新分支
圖標2:本地的分支列表
圖標3:遠程倉庫中的分支列表

例如操作:如何拉取這個項目中其他人分支的代碼?
這裏寫圖片描述
1.在遠程倉庫分支列表(Remote Branches)中,找到別人的分支名。
2.Checkout as new local branch - 在本地創建並關聯
3.叉會腰,休息一會….. 完成~

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章