最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Git開發(fā)中的常用指令及其使用場(chǎng)景詳解

 更新時(shí)間:2026年05月08日 08:45:12   作者:無敵小肥007  
本文介紹了Git的安裝、配置以及基本操作,包括創(chuàng)建和初始化倉庫,常用命令如分支管理,提交和撤回操作,還涵蓋了協(xié)作中遇到的拉取代碼、解決沖突的場(chǎng)景,希望對(duì)大家有所幫助

一、Git安裝

Git 是一個(gè)開源的分布式版本控制系統(tǒng),用于敏捷高效地處理任何或小或大的項(xiàng)目。

官網(wǎng)下載地址:https://git-scm.com/downloads

二、配置Git工具

2.1 用戶信息配置

對(duì)所有本地倉庫的用戶信息進(jìn)行配置

1、對(duì)你的commit操作設(shè)置關(guān)聯(lián)的用戶名

git config --global user.name "[name]"

修改用戶名

git config --global --replace-all user.name "[name]"

2、對(duì)你的commit操作設(shè)置關(guān)聯(lián)的郵箱地址

git config --global user.email "[email address]"

修改郵箱地址

git config --global --replace-all uesr.email "[email address]"

3、啟用有幫助的彩色命令行輸出

git config --global color.ui auto

2.2 查看配置

查看用戶名:

git config user.name

查看密碼:

git config user.password

查看郵箱:

git config user.email

查看配置信息:

git config --list  

三、初始化倉庫

3.1 創(chuàng)建倉庫

1、創(chuàng)建文件夾

mkdir my-project

2、進(jìn)入文件夾

cd my-project

3、git初始化

git init 

1、2、3 步是基于沒有倉庫時(shí)的操作,如果倉庫存在1、2、3步可替換為git clone 遠(yuǎn)程倉庫地址

進(jìn)入文件夾

cd my-project

4、創(chuàng)建readme文件

touch README.md

5、添加readme文件到暫存狀態(tài)

git add README.md

添加全部

git add .

6、把暫存狀態(tài)的文件提交到本地備注為"first commit"

git commit -m "first commit"

7、遠(yuǎn)端倉庫建立連接 名稱origin對(duì)應(yīng)遠(yuǎn)端倉庫地址

git remote add origin https://gitee.com/wudixiaofei/my-project.git

8、推送代碼至代碼倉庫 首次提交添加 -u

git push -u origin "master"

提交代碼到對(duì)應(yīng)分支

git push origin branch_name

如果有多個(gè)倉庫需要推送,如gitee、github

遠(yuǎn)程地址A:'gitee/my-project.git'  //設(shè)為'originA'
遠(yuǎn)程地址B:'github/my-project.git' //設(shè)為'originB'

$ git remote add originA giteeurl
$ git remote add originB githuburl

查看本地對(duì)應(yīng)的遠(yuǎn)程倉庫
$ git remote -v

操作追加遠(yuǎn)程推送B
$ git push originA master:master
$ git push originB master:master

刪除與遠(yuǎn)端建立的連接
$ git remote remove "連接名字"

四、常用命令

4.1 git clone拉取遠(yuǎn)端倉庫

拉取遠(yuǎn)端倉庫
git clone 遠(yuǎn)程倉庫地址

代碼拉取下來后,就需要有分支的概念

4.2 git分支操作

查看分支

星號(hào)(*)表示當(dāng)前所在分支

查看遠(yuǎn)端分支
git branch -r

查看本地分支
git branch

查看所有分支
git branch -a

分支操作

創(chuàng)建新分支 下級(jí)用/
git branch dev
git branch dev/featrue

修改本地分支名稱
git branch -m oldName newName

檢出分支、切換分支到dev
git checkout dev

本地分支推送至遠(yuǎn)程分支
git push origin 本地分支名:遠(yuǎn)程分支名
> git push origin develop:develop

刪除本地分支
git branch -D branch_name

刪除遠(yuǎn)程分支
git push origin --delete branch_name
> git push origin --delete develop

4.3 撤回操作

撤回刪錯(cuò)的分支

1、找到刪除branch的 hash 值
git reflog 

2、創(chuàng)建對(duì)應(yīng)branch
git checkout -b new_branch_name hash

撤回提交

HEAD:它是一個(gè)指向你正在工作中的本地分支的指針,可以將 HEAD 想象為當(dāng)前分支的別名。

HEAD^ 的意思是上一個(gè)版本,也可以寫成HEAD~1如果你進(jìn)行了2次commit,想都撤回,可以使用HEAD~2或者HEAD^^

reset 用于本地的commit操作撤回

1、代碼恢復(fù)到上一次提交
git reset --mixed HEAD^

參數(shù):
	--mixed 默認(rèn)參數(shù)
	意思是:不刪除工作空間改動(dòng)代碼,撤銷commit,并且撤銷git add . 操作。
	--soft 
	意思是:不刪除工作空間改動(dòng)代碼,撤銷commit,不撤銷git add 。
	--hard
    意思是:刪除工作空間改動(dòng)代碼,撤銷commit,撤銷git add . 操作。

2、如果只是修改注釋
git commit --amend
會(huì)進(jìn)入默認(rèn)vim編輯器,修改注釋完畢后保存就好了

revert 用于遠(yuǎn)程push操作的撤回

因?yàn)槭沁h(yuǎn)程,revert是會(huì)有新紀(jì)錄C2’此時(shí)C2’ 的狀態(tài)與 C1 是相同的。

git revert HEAD^ 

4.3 拉取代碼操作

拉取對(duì)應(yīng)分支代碼 
git pull origin branch_name

4.4 貯存操作

用于暫時(shí)保存沒有提交的工作。運(yùn)行該命令后,所有沒有commit的代碼,都會(huì)暫時(shí)從工作區(qū)移除,回到上次commit 時(shí)的狀態(tài)。

1、沒有被 add 過的文件不會(huì)被貯藏

2、git stash -u 可以把沒有被add的文件也被貯藏

(–include-untracked)

SourceTree里的貯藏

1、添加貯藏
git stash save "貯藏備注" 

2、查看貯藏列表
git stash list

3、取出指定內(nèi)容
git stash apply stash@{0}

五、使用場(chǎng)景

5.1 克隆倉庫

小白入職第一天:

1、安配配置git

2、拿到分配的賬號(hào)登錄公司代碼倉庫如gitlab、gitee、coding

3、賬號(hào)的安全設(shè)置處綁定公鑰

4、$ git clone 對(duì)應(yīng)倉庫地址

5、大佬安排看看代碼,熟悉一下

5.2 檢出分支

場(chǎng)景1:小白進(jìn)了一家私企沒幾天就來了一個(gè)工期3天的新需求,準(zhǔn)備要大展身手。

于是,小白checkout出了公司的dev分支,開始大干一番$ git checkout dev

5.3 提交代碼

2天過去了,產(chǎn)品經(jīng)理問,小白啊,怎么沒有看見你的近兩天的代碼提交呀?還沒開始嗎?

小白:原來沒寫好也要提交代碼給上級(jí)看,那我馬上提交。答到:『噢噢,寫的差不多了,馬上提交』

$ git add .

$ git commit -m "新功能"

$ git push origin 本地分支名:遠(yuǎn)程分支名

大佬:我剛補(bǔ)的bug合并代碼發(fā)版了,咦,怎么起不來服務(wù)了,一看代碼提交,小白你提交的代碼有問題,影響到主業(yè)務(wù)了。

小白:?。ɑ帕耍?/p>

大佬:如果你需要開發(fā)新功能,要把當(dāng)天的代碼提交的話,你就在feature新建一個(gè)功能就行,測(cè)試好我再合并發(fā)版。大佬耐心講到我司規(guī)范:

master 是主分支,一般是保護(hù)分支,管理員才能操作

dev 是開發(fā)分支,開發(fā)先拉這個(gè)分支

feature 是功能模塊,如:

  • ----feature/login (登錄功能)
  • ----feature/用戶導(dǎo)入 (導(dǎo)入功能)

新增的功能加就行: 『feature/功能名稱』

hotfix 修補(bǔ)bug模塊,如:

  • ----hotfix/login (修補(bǔ)登錄功能)
  • ----hotfix/導(dǎo)入 (修補(bǔ)導(dǎo)入功能)

refactor 重構(gòu)模塊

小白趕忙撤回提交:

$ git log 查看提交日志

找到自己提交的hash,例如:(2c479a5)

$ git revert ${commit hash} ...${commit hash}

revert后那次提交的代碼就會(huì)被撤回,日志的hash顯示為(c18fad1ba),但是我辛辛苦苦寫的代碼咋就不見了。

于是,創(chuàng)建并切換分支feature/我的功能

$ git checkout -b feature/我的功能

該分支是從當(dāng)前分支上檢出的,所以所有文件內(nèi)容都和當(dāng)前分支一模一樣。再revert一遍即可

$ git revert c18fad1ba

可以看見,代碼都回來了。

5.4 協(xié)作問題

場(chǎng)景2 :小白開啟了新分支完成功能后準(zhǔn)備合并到主分支。

$ git diff dev feature/我的功能

使用diff查看分支差異,發(fā)現(xiàn)和大佬提交的代碼同時(shí)修改了幾個(gè)文件。

解決沖突(合并、變基)

<<<<<<< 
=======, 
>>>>>>> 

merge

當(dāng)前分支在主分支,如master

  • $ git merge 目標(biāo)分支 --只保留單條分支記錄
  • --no-ff --關(guān)閉fast-forward方式,可以查看到分支狀態(tài)。
  • --squash – 需要進(jìn)行一次額外的commit來總結(jié)最終的合并。

如果有沖突文件,在這一步處理完

  • $ git add . – 添加改動(dòng)
  • $ git commit -m "merge" – 本地提交
  • $ git push origin feature/我的功能:master – 推送到master

rebase

當(dāng)前分支在開發(fā)分支,如feature/我的功能

$ git rebase master --rebase操作

如果有沖突文件,在這一步處理完

  • $ git add . --添加改動(dòng)
  • $ git rebase --continue --繼續(xù)rebase
  • --abort --放棄合并,回到操作前的樣子。

處理完所有沖突后,提示

Successfully rebased and updated refs/heads/feature/我的功能

$ git push origin feature/我的功能:master--推送到master

以上就是Git開發(fā)中的常用指令及其使用場(chǎng)景詳解的詳細(xì)內(nèi)容,更多關(guān)于Git常用指令的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

最新評(píng)論

赤峰市| 浦北县| 永和县| 密山市| 新巴尔虎左旗| 舒兰市| 中阳县| 五指山市| 滦平县| 嵩明县| 弥勒县| 信宜市| 敦煌市| 息烽县| 汕尾市| 化德县| 蓬溪县| 乌拉特后旗| 临沭县| 阜平县| 宜春市| 洛南县| 宁化县| 武隆县| 申扎县| 阳城县| 广平县| 陕西省| 金华市| 潮州市| 菏泽市| 枣强县| 盖州市| 大方县| 扶沟县| 丹阳市| 赤水市| 锦州市| 临潭县| 肥乡县| 红桥区|