Git安裝與使用&開發工具之G
1.什麼是版本控制?
最原始的版本控制系統是純手工控制,修改檔案或儲存檔案副本,比如,我改一個檔案,從version1 改為 version2, 當version2改為version3 或者version4想知道對於上一版本做了哪些改動,比較困難,回滾的時候也比較容易出錯,版本控制系統能記住所有版本,有效的追蹤檔案的變化,可以回滾到之前的狀態。
2.為什麼使用Git?
(1)完整的版本控制,解決多人協作的問題
(2)提高開發效率
(3)注意:Git不等於GitHub!Git和GitHub球和球場的關係
3.Git安裝
4.配置使用者資訊
(因為Git是分散式版本控制系統,所以每個系統都需要提供自己的名字和郵箱)
git config --globaluser.name “xiaowei”
git config --global user.email “[email protected]”
輸入完成後檢視是否成功 git config – list global(爭對所有倉庫) 本地上所有的git倉庫都會使用這個配置
5.圖形控制使用SourceTree
5.Git倉庫
初始化版本庫 git init
新增檔案到版本庫 git add git commit
檢視倉庫狀態 git status
6.Git工作流
工作區–》暫存區–》版本庫
7.指令版操作:
1.產品經理提出需求,進行開發
git status檢視狀態,
git add 將新需求提交到暫存區
git commit 將暫存區的檔案 提交到本地工作區
2.產品經理臨時出現了新需求,下班之前修改了 修改之後,程式碼提交到暫存區,但是不能commit,因為會有資訊,而且是臨時需求, 第二天之後準備commit之前,產品說,這個需求不需要修改,還是回滾到之前,內心是不好受的,git reset HEAD xxxx.txt
然後 把工作區的檔案弄乾淨 Git checkout – xxxx.txt
3.然後進行第二天的需求開發,然後 git add git commit 第二次提交已經完成 接下來產品說,需求不需要修改,再次回滾到之前
4.git log 檢視日誌 找到第一次提交的commit號, 然後 git reset --hard (commit)號
5. 突然又變更了需求,需要清理乾淨本地倉庫 Git rm bash_demo.txt 現在暫存區和倉庫還沒有清空 需要 git commit
6.之後 檔案全部消失
7.工作區 對應版本庫 說白了是指標的操作 工作區到暫存區 git add git commit 暫存區提交到master分支 reset
8.head checkout 工作區修改了一些東西,但是沒有做任何提交 ,使用之後,本地便乾淨 Rm – cached 暫存區乾淨
9.工作區沒有刪除 checkout head 將master替換到工作區和暫存區
8.遠端倉庫
建立ssh key
ssh-keygen -t rsa -c “郵箱” 一直回車
檢視是否連通
ssh -T [email protected]
新增遠端倉庫 git remote add origin [email protected]: demo.git Git
pull origin master --allow-unrelated-histories git push -u origin master
建立一個readme.md文件 Echo “# tyler_muke” >> README.md 初始化git倉庫 Git init
把workspace的檔案新增到暫存區 Git addREADME.md Git commit 新增到master版本庫的目錄樹裡邊
關聯本地與 遠端倉庫 Git remote add origin [email protected]: demo.git 然後
git push -u origin master
以後直接git push
9.圖形化操作
新建一個本地倉庫(本地) 點選分支 然後右擊master分支 建立拉去請求 設定一下遠端倉庫地址 遠端倉庫 通常用oringn標識
如果出現遠端 說明關聯ok 右擊master 推送到 origin 正在提交是藍色 ok是綠色 通過顏色區分
10.克隆倉庫
本地進行開發 然後再推送到遠端 Git clont [email protected]:xxx.git 將遠端克隆一份到本地
11.標籤管理
日常工作 需要釋出一個新版本 通常在版本庫中打一個標籤 這樣就確定了 對應的版本時刻 可以直接通過標籤 上線想回滾 通過標籤
檢視所有標籤 git tag
建立標籤 git tag name
指定提交資訊 git tag -a name -m “comment”
刪除標籤 git tag -d name
標籤釋出 git push origin name
git tag v1.0.1 建立新的標籤 git push origin v1.0.1 放到遠端
12.分支管理
準備開發一個新功能,但是需要兩週左右,第一週寫了50% 不完整的程式碼會影響別人, 但是會丟失每天程式碼進度
當前在master分支,基於master切出新的分支,然後再合併 Git branch feature_x (分支名字 )
檢視分支 git branch *
說明當前再什麼分支 git checkout feature_x 切換分支
合併到master 首先切換到master git merge 分知名 git branch -d 刪除掉其他合併的分支