Git是一款分布式源代碼管理工具混槐,在本地和遠程服務器上都有Git版本庫。
要想熟練使用Git,我們必須理解Git的工作原理:在本地倉庫中,工作區(qū)文件需要先被添加進暫緩區(qū)敢茁,然后暫緩區(qū)提交到分支译打,最后需要上傳到遠程服務器倉庫耗拓。
下面內容基于Git已經(jīng)安裝完畢的情況下:
單人開發(fā)
一、準備工作(只做一次)
- 創(chuàng)建一個工作區(qū)奏司,在工作區(qū)中打開git終端乔询,使用 git init 指令初始化git版本庫
- 通過
git config user.name "姓名"
、git config user.email "郵箱"
韵洋,在git config文件中添加使用者信息(必須設置竿刁,不設置要挨罵) - 添加完成后通過
git config -l
指令查看是否添加成功黄锤。
二、開發(fā)階段(反復執(zhí)行)
- 編寫代碼
- 通過
git add 文件名稱
或git add .
指令將文件添加到版本庫的暫緩區(qū)中 - 通過
git commit -m"說明"
將暫緩區(qū)的文件添加到HEAD指針指向的分支中
(默認只有一個分支, master分支, 也稱之為主分支)
注意點:
① 不是寫一句代碼就add commit一次, 應該是完成一個功能后再add commit
② commit時-m注釋一定要認真編寫, 與當前提交內容保持一致, 否則要挨罵
單人使用Git管理項目好處:
① 可以通過git status
查看哪些文件沒有被管理, 修改了哪些文件
紅色(沒有被管理或者被修改了)食拜、綠色(在暫緩區(qū))
② 可以通過 git diff
查看具體修改了哪些代碼
③ 可以通過git log / git reflog
查看項目演變歷史
④ 可以通過git reset --hard
版本號 在任意版本之間切換
⑤ 無需備份多個文件, 每次commit提交Git會自動備份
多人開發(fā)
一鸵熟、在遠程服務器上創(chuàng)建一個共享版本庫
- 打開遠程服務器,創(chuàng)建一個工作區(qū)负甸,并在工作區(qū)上運行Git終端
- 在終端工具中輸入命令
git init --bare
創(chuàng)建共享版本庫
二流强、開發(fā)人員下載遠程版本庫
- 開發(fā)人員在自己電腦上打開Git終端
- 使用命令
git clone
遠程服務器共享版本庫地址,從遠程服務器上下載當前項目共享版本庫
(和單人開發(fā)使用Git的區(qū)別:單人開發(fā)是自己創(chuàng)建版本庫呻待,而多人開發(fā)是從遠程服務器下載版本庫)
三打月、進入開發(fā)階段
跟單人開發(fā)使用相同
設置config中的用戶名和郵箱
編寫代碼
git add .
添加文件到暫緩區(qū)git commit -m"說明"
添加到HEADER指針指向的分支
(commit是將編寫好的代碼提交到本地的版本庫,其他開發(fā)人員是拿不到我們提交的代碼的蚕捉,如果想要其他開發(fā)人員也能拿到我們提交的代碼奏篙,需要將編寫好的代碼提交到遠程服務器)將代碼提交到遠程服務器指定分支:
git push origin 分支名稱
其他開發(fā)人員只需要通過
git pull
就可以拿到更新的內容
多人開發(fā)使用Git的注意點:
① 不能將不能運行的代碼提交到本地和遠程服務器(切記一定不能)
② 如果服務器上有其它開發(fā)人員的更新內容, 那么不能直接通過push將我們的代碼提交到服務器,必須先將其它開發(fā)人員更新的內容更新到本地之后才能通過push提交我們的內容
③ 如何我們更新的內容和其它同事更新的內容有沖突(修改了同一個文件的同一行代碼), 這個時候需要我們自己手動修改沖突, 修改完沖突之后才能將代碼提交到遠程服務器
開發(fā)技巧:
只要開發(fā)完了一個功能就要立即提交代碼迫淹,因為在企業(yè)開發(fā)中誰后提交誰就負責解決沖突秘通,誰的工作量就大。
分支
一敛熬、如何查看有多少個分支
通過git branch
指令就可以查看當前版本庫中有多少個分支
注意點:
① 如果當前的版本庫是空的, 那么無法查看
② 如果通過git branch指令查看當前版本庫中有多少個分支, 輸出的內容中哪一個分支前面有*號肺稀,就代表當前的HEADER指針指向哪一個分支, 我們提交的代碼就會提交到指向的分支中
二、如何創(chuàng)建一個分支
通過git branch 分支名稱
來創(chuàng)建一個新的分支
注意點:
① 在哪個分只能中創(chuàng)建了新的分支荸型,那么創(chuàng)建出來的新分支就會繼承當前分支的所有狀態(tài)盹靴。
例如:在master分支中做了兩個操作,然后在master分支中創(chuàng)建了Dev分支瑞妇,那么創(chuàng)建出來的Dev分支就會繼承master分支中的這兩個操作稿静。
② 一旦分支被創(chuàng)建出來,分支就是獨立的辕狰,分支之間不會相互影響
三改备、如何切換分支
通過git checkout 分支名稱
來修改HEADER指針的指向
注意點: 只要HEADER指針的指向發(fā)生了改變, 那么commit的代碼就會發(fā)生改變,HEAD指針指向誰蔓倍,commit提交的代碼就提交到誰里面去
四悬钳、如何將分支提交到遠程服務器
- 通過
git branch -r
來查看遠程服務器有多少分支 - 首先在本地切換到新建的分支中,然后通過
git push origin 分支名稱
指令提交新建的分支到遠程的服務器偶翅。
五默勾、如何合并分支
可以通過git merge 分支名稱
來合并分支
例如1:
在master分支中執(zhí)行git merge Dev,就代表需要將Dev中的代碼都合并到master中
例如2:
在Dev分支中執(zhí)行git merge master聚谁,就代表需要將master中的代碼都合并到Dev中
六母剥、如何刪除分支
- 可以通過
git branch -d
分支名稱 來刪除本地的分支 - 可以通過
git push origin --delete
分支名稱 來刪除遠程服務器的分支
七、如何拉取指定分支的代碼
git clone -b 分支名稱 git地址
Git忽略提交規(guī)則:
如果不想讓某些文件被git,使用命令touch .gitignore
創(chuàng)建.gitignore文件,在里面添加相應的忽略規(guī)則即可环疼。
總結
一般情況下习霹,我們按照如下順序提交代碼:
git add/commit/pull/push