github基礎入門
工作區域 (Working Directory) 就是你平時存放程式碼的地方
暫存區域 (Stage) 用於臨時存放改動,事實上它只是一個檔案,儲存即將提交的檔案列表資訊。
Git 倉庫(Resository) 就是安全存放資料的位置,這裡邊有你提交的所有版本的資料。其中
,HEAD指向最新放入倉庫的版本(這第三棵樹,應該是Git倉庫中HEAD指向的版本)。
Git的工作流程是:
1.在工作目錄中新增修改檔案
2.將需要進行版本管理的檔案放入暫存區域
3.將暫存區域的檔案提交到Git倉庫中。
Git管理的檔案的三種狀態已修改(modified) 已暫存(Staged)和已提交(committed)
分別對應以上的三個流程
git是對於程式碼維護的操作,而github是提供git服務倉庫的地方,要進行git操作,我們首先需要去github
上建立一個賬號。建立完賬號後,可以在桌面上的bush上進行操作。這是一個類linux終端的shell,所以
會一點點linux命令的同學可能會輕鬆一點。
1.瞭解系統環境變數
git config
2.設定身份
git config --global user.name ....
git config --global user.email ....
git config --global color.ui auto
3.設定編輯器
git config -gobal core editor emacs
4.設定你的比較工具
git -global merge tool vimdiff
5.檢查你的配置
git config -list
6.幫助
git help <verb>
git <verb> -help
remote repository 遠端伺服器倉庫
local resitory 本地倉庫 objects
stage area 緩衝區 index
work area 工作區間
ehco "hello" >> hello 新建一個文字輸入hello
git add . 將檔案從工作區轉到緩衝區
git commit hello -m "init hello" 加註釋的提交
7.建立專案的方式
方法1:
進入資料夾
git init 初始化一個版本倉庫
通常會生成.git隱藏資料夾
在git中 我們將.git目錄下的內容稱為“附屬於該倉庫的工作樹”,檔案的編輯等操作在工作樹中進行,
然後記錄到倉庫中,以此來管理檔案的歷史快照。如果想將檔案恢復先前的狀態,可以從倉庫中調取之前的
快照,在工作樹中開啟。
方法2:
git clone git://github.com/git/hello-world.git從遠端倉庫下載程式碼
8.顯示
git remote 顯示遠端倉庫的名字
git remote -v 顯示遠端倉庫的地址
9.新增
git add 是將檔案新增到 Stage中,這個區域是提交之前的一個臨時區域
git add *c新增副檔名為c的所有檔案
git add README 新增README文字(其實是將檔案納入版本控制)
git commit -m "initial project version"提交併添加註釋
git status 檢視當前所有工作區間的狀態,這是一個十分有用的命令
echo "bin.dll" >>bin.gitignore 提交時會自動忽略該檔案
10.比較
git diff (--staged) 比較workspace VS staged .
git diff --cached 比較 staged VS local repo
11.刪除
git rm 刪除掉工作區的內容
git checkout -- 檔名 可以找回原來刪除的內容 撤銷上一次的修改(工作區)[--不寫是建立分支]
git rm
git -a -m "" 提交後git checkout找不回原來的內容
git mv bin.dll
git -a -m ""
新增刪除等操作都需要提交以後才能真實的對倉庫生效
12.檢視
cat檔名檢視檔案內容
git whatchanged 檢視當前的一些改變
----------------------------------------------------------------------------
第二部分 共享及更新專案
1.幾個概念
1) clone 這是當我們本地沒有該專案時我們第一次從遠端倉庫中將程式碼完整的下載到本地
2) pull 這是當我們本地倉庫和遠端倉庫有不同的時候將部分下載和主版本合併
3) push 將本地倉庫的內容推送到遠端倉庫
4) fetch 從遠端倉庫下載內容不與主版本合併二十建立一個分支
2.拉
git fetch origin 沒有提示變化,主要是因為建立了新的分支
git pull origin
git push origin master 當本地倉庫有修改,和遠端倉庫有差異的時候需要push來讓本地倉庫和遠端的倉庫保持一致
這裡的master是指具體的哪一個分支
git format -patch orgin/master 給我們本地的檔案打補丁,由於我們沒有許可權修改遠端倉庫,所以這樣會把補丁資訊通過郵件的方式傳送給遠端管理員,管理員手動的將補丁新增到工程中
ps:本地的倉庫一旦建好,就會產生一個master的分支,遠端的倉庫預設為origin
3.檢視所處的分支
git branch
4.新建一個分支
git branch xxxx 新建一個名為xxx的分支
5.切換一個分支
git checkout xxx 切換到xxx分支
6.檢視分支差異
git show -branch
git diff master xxx 比較兩個分支的差異
7.合併分支
方法1:
git merge "merge branch1 to master" HEAD branch1 將branch1分支 合併到當前主分支中,合併日誌為merge branch1 to master
注意輸入此命令的時候,要切換回主分支
方法2:
git checkout master
git pull branch1
8.新增版本標識
git tag -a Beta1 -m "make beta1"
將當前所有的檔案標識為beta1 便於以後的版本回溯
最重要的三類操作:
1.本地工作區的操作以及本地工作區和本地倉庫之間的操作(增刪改提交)
2.本地倉庫和遠端倉庫的操作
3.分支的建立,分支合併,分支維護
以上內容參考小甲魚Git教程 某播客視訊 以及GitHub入門與實踐的書,
說實在話入門git實在不容易,班上的大神都不教,第一次看git入門實踐
的書覺得晦澀難懂,後來直到入手了視訊後看了部分講解然後去看書,動手
實踐後,才覺得有一些收穫,還有對於工作區的概念比較重要,希望各位同
學好好理解,初步的操作這一些就可以了,至於剩下的部分,我在後面的文
章中加以補充。