1.git多人的操作
1.基本介紹
工作區(qū) -->暫存區(qū)--> 版本庫 --> 遠(yuǎn)程版本庫
工作區(qū):文件的增加,修改奕筐,刪除操作都在工作區(qū)執(zhí)行
暫存區(qū):文件修改后且add后,到暫存區(qū)
版本庫:文件commit后办成,到版本庫
遠(yuǎn)程倉庫:本地版本庫的文件push到遠(yuǎn)程倉庫怔毛,從遠(yuǎn)程倉庫pull/fetch文件到本地
HEAD保存的是最后一次提交點(當(dāng)前)奸晴,指向當(dāng)前工作的分支
HEAD^上一個版本
HEAD^^上上個版本
HEAD~10上10個版本
2.配置用戶名及郵箱
git config --global user.name 'wudaxun'
使用域賬號
git config --global user.email '522864637@qq.com'
使用公司郵箱
3.配置ssh
為了避免每次提交代碼都需要 輸入賬戶名和密碼
運行以下命令
ssh-keygen -t rsa -C '522864637@qq.com'
一般建議乙帮,遠(yuǎn)程倉庫的 綁定的郵箱賬號
然后一路按回車
可以使用任何類型的軟件打開該文件裹赴,推薦可以使用記事本求摇, 復(fù)制其中的代碼
打開gitee海蔽,找到設(shè)置 - 安全設(shè)置 - ssh公鑰 - 填寫信息即可
4.基本的操作
1.查看配置信息
git config -l
2.初始化倉庫(本地倉庫)
git init
3.克隆遠(yuǎn)程代碼
git clone url
3.拉取遠(yuǎn)程代碼
git pull
相當(dāng)于 git fetch 和git merge
5.4.從其他分支合并代碼到當(dāng)前分支
git merge branch-name
4.比較文件
git diff [filename]
4.添加文件
git add [.|filename]
5.提交文件
git commit -[a]m ‘備注信息’
6.查看倉庫狀態(tài)git status
git status
On branch master 處于master分支Initial commit 初始化提交Untracked files: 未跟蹤的文件
(use "git add <file>..." to include in what will be committed) 使用add命令來添加文件
nothing added to commit but untracked files present (use "git add" to track) 沒有提交但未添加文件
(用“git add”追蹤)
7.查看日志
git log
commit cbc220915fa1039e475b7865cc05bc42c6a5e826 提交的編號Author: huz02 <huz02@vanke.com> 作 者
Date: Tue Nov 28 14:23:10 2017 +0800 提交日期
add test.txt 提交的內(nèi)容(添加test.txt文件) git log --pretty=oneline 格式化查看日志
8.查看某個提交修改的內(nèi)容
git show commitID
12.查看某個文件修改記錄
git log -p filename
5.分支管理
查看分支
git branch -a
// all 全部分支
git branch -r
// remote 遠(yuǎn)程分支
git branch -l
// local 本地分支
創(chuàng)建分支
git branch branch_name
切換分支
git checkout branch_name
創(chuàng)建分支并切換到分支
git checkout -b new_branch
(默認(rèn)為空嘱能,從master分支拉取代碼)
刪除分支装蓬,如果正在當(dāng)前分支屡久,則不能刪除
`git branch -d branch_name
刪除遠(yuǎn)程分支
git push origin --delete branch_name
合并自分支代碼唇聘,先切換到master分支
git checkout master
切換到主分支
git merge sub_branch
合并sub分支代碼到主分支
git merge sub
Updating 5ce93f7..b59cc48 Fast-forward
hahaha.txt | 17 ++---------------
1 file changed, 2 insertions(+), 15 deletions(-)
注意:Fast-forward 表示快速合并(將master的指針指向brh)么介,不會產(chǎn)生新的commit id帘撰,只是利用了子分支 的commit id繼續(xù)操作
注意:如果在子分支修改了代碼唤衫,未commit就切換到master,master也會顯示文件被修改了 推送分支代碼到遠(yuǎn)程分支
git push origin master
git push origin sub_branch 推送sub分支
推送本地分支到遠(yuǎn)程做粤,如果遠(yuǎn)程分支沒有怕品,則使用下面命令
git push --set-upstream origin invoice
5纹安、代碼回退
修改本地文件厢岂,還未add操作,注意:所有修改將丟失
git checkout -- filename
添加新文件且執(zhí)行了add,想返回未add狀態(tài)郭赐,保留修改的把內(nèi)容
git reset HEAD filename
如果文件被刪除后,想要恢復(fù)源文件
git checkout HEAD -- filename
文件執(zhí)行了commit后替蔬,想回到上一個版本(log會被刪除)
git reset --soft commit_id
回退到制定版本酷麦,回到add后,commit前的代碼
git reset commit_id
回退到指定版本修改后喉恋,回到修改后沃饶,add前的代碼(默認(rèn)--mixed,可省略)
git reset --hard commit_id
回退到指定版本轻黑,回到修改前的代碼
6.如何團隊操作
組長第一次
// 1.創(chuàng)建一個項目 -- gp-4-git-course - 初始化項目git
cd gp-4-git-course
git init
// 2.添加一個文件 test.md. --- git course
git add .
git commit -m '初始化項目'
創(chuàng)建遠(yuǎn)程倉庫 - gp4-test (分為git協(xié)議和https協(xié)議糊肤,如果配置過ssh,默認(rèn)就是選中ssh)
git remote add origin git@gitee.com:daxunxun/gp4-test.git
git push -u origin master // -u 只有在第一次提交代碼時才會添加
給當(dāng)前的項目添加項目組成員
當(dāng)前項目 - 管理 - 倉庫成員管理 - 添加倉庫成員 - 建議全部添加為 管理員氓鄙,復(fù)制鏈接馆揉,發(fā)給隊友,隊友同意之后即可加入
組員第一次
// 1.同意加入項目組
// 2.找到自己的代碼管理文件夾
// 3.克隆遠(yuǎn)程的倉庫 選擇ssh 的克隆地址
git clone git@gitee.com:daxunxun/gp4-test.git
// 4.git默認(rèn)是master分支抖拦,開發(fā)人員不可以在master分支直接開發(fā)
git checkout -b 'adev'
// 5.編寫代碼
// 6.提交代碼
git add .
git commit -m 'a 開發(fā)的*** 功能實現(xiàn)'
// 7.提交到遠(yuǎn)程的adev分支
git push origin adev
// 8.第一天的活結(jié)束
如果組長也是要寫代碼升酣,參考組員的操作
git checkout -b 'testdev'
// 編寫代碼
// 提交代碼
git add .
git commit -m 'test 開發(fā)的*** 功能實現(xiàn)'
git push origin testdev
組長負(fù)責(zé)合并代碼
// 一定要切換到master分支
git checkout master
// 合并 自己分支代碼-----
git pull origin testdev
git add .
git commit -m '合并testdev分支代碼'
// 合并其他分支代碼
git pull origin adev
// 此時可能會有代碼的沖突問題,建議手動修改沖突
git add .
git commit -m '合并adev分支代碼'
git push origin master
// 合并完成态罪,切回自己的分支
git checkout testdev
// 拉取最新的代碼
git pull origin master
// 開發(fā) 提交 合并 噩茄。。向臀。巢墅。
組員得知代碼合并完成
git pull origin master
// 開發(fā) 提交