Git pull(拉取)及push(上傳)相關(guān)命令介紹
前言:博主最近在學(xué)習(xí)git命令,因?yàn)間it是一個(gè)非常好用的分布式版本管理工具,功能比svn強(qiáng)大,與SVN不同點(diǎn)是Git去中心化,每一個(gè)分支都是一個(gè)中心,并且支持本地倉(cāng)庫(kù)存儲(chǔ),像如今很多大公司都用git做版本控制。話不多說(shuō),具體命令整理如下:
git拉取遠(yuǎn)程代碼
git clone https://xxx.git
git拉取遠(yuǎn)程指定分支下代碼(-b 分支名稱(chēng))
git clone -b v2.8.1 https://xxx.git
初始化一個(gè)本地倉(cāng)庫(kù),在同級(jí)目錄下會(huì)出現(xiàn)一個(gè)隱藏的.git文件
git init
查看git的配置信息
git config -l
git配置本地倉(cāng)庫(kù)的userName(必須)
git config user.name 'Lee'
git配置本地倉(cāng)庫(kù)的郵箱(必須)
git config user.email '12345@qq.com'
三級(jí)文件配置路徑:
.git/config /.gitconfig #當(dāng)前用戶目錄 /etc/gitconfig #git安裝目錄
本地提交到git索引(緩存)中
git add . #把新增的、修改的都加到緩存 git add -A #把新增、和修改的、和刪除的都加到緩存
本地從緩存中加到文件庫(kù)(repository)中
git commit -m '版本描述' #提交到文件庫(kù)
本地一件提交到文件庫(kù)中
git commit -am '版本描述' #一步完成提交
查看當(dāng)前git狀態(tài)信息(查看是否有文件未提交)
git status
git中的三類(lèi)文件
被追蹤的(tracked):已經(jīng)加入文檔庫(kù)
不被追蹤的(untracked):沒(méi)有加入文檔庫(kù)
忽略的(ignored):忽略那些不需要管理的文件夾或文件
git新建忽略文件 目錄下建立一個(gè).gitignore文件(可以有多個(gè),影響范圍當(dāng)前文件及子文件)
touch .gitignore
.gitignore文件忽略內(nèi)容demo
# Maven # target/ # IDEA # .idea/ *.iml # Eclipse # .settings/ .classpath .project
注意:新建的一個(gè)忽略文件,為什么沒(méi)有生效
答:可能是因?yàn)槟愕木彺鎱^(qū)已經(jīng)有忽略的文件了,所以需要先清空緩存區(qū)里的文件,重新add和commit操作
刪除緩存區(qū)所有文件命令
git rm -r --cached . #主要這個(gè)點(diǎn)一定要寫(xiě)
重新add到緩存區(qū)
git add .
每一次commit都是一個(gè)提交點(diǎn),唯一標(biāo)識(shí)SHA1的ID,ID可使用前4至7個(gè)數(shù)字表示
查看git的日志信息
git log
給提交點(diǎn)打標(biāo)簽 git tag -a v0.2 4a80f64(提交點(diǎn)SHA1的ID的前7位)
git tag -a tagV1 d819565b #提交點(diǎn)SHA1的ID的前7位
回車(chē)之后會(huì)有輸入tag內(nèi)容的界面,然后像linux一樣 點(diǎn)擊 i 編輯 輸入信息后 esc 然后 :wq 保存退出
簡(jiǎn)化git日志輸出格式
git log --oneline
顯示主分支和自分支git日志 (前面會(huì)多個(gè)星號(hào))
git log --oneline --graph
查看本地添加了哪些遠(yuǎn)程分支地址
git remote
查看本地添加了哪些遠(yuǎn)程分支地址(詳細(xì))
git remote -v
刪除本地指定的遠(yuǎn)程地址
git remote remove origin
添加遠(yuǎn)程地址
git remote add origin https://xxxxxxxxxxxx.git
分支:分支意味著你可以從開(kāi)發(fā)主線(master)上分離開(kāi),在不影響主線的同事繼續(xù)工
git branch #列出當(dāng)前開(kāi)發(fā)所有分支(默認(rèn)會(huì)有master) git branch king #創(chuàng)建一個(gè)king的分支(最新提交點(diǎn)) git branch king 提交點(diǎn) # 創(chuàng)建一個(gè)king的分支(指定提交點(diǎn)) git branch -d -r <branchname> # 刪除遠(yuǎn)程分支,刪除后還需推送到服務(wù)器 git push origin:<branchname> # 刪除后推送至服務(wù)器 git branch -d king #刪除king分支 git checkout king #切換至king分支 git checkout master git merge king #合并分支king和主干master,合并后的提交點(diǎn)屬于主干master
本地分支重命名
git branch -m <oldbranch> <newbranch> #重命名本地分支
查看本地和遠(yuǎn)程的所有分支
git branch -a # 查看本地和遠(yuǎn)程的所有分支
查看遠(yuǎn)程所有分支
git branch -r # 查看遠(yuǎn)程所有分支
重命名遠(yuǎn)程分支:
1、刪除遠(yuǎn)程待修改分支
2、push本地新分支到遠(yuǎn)程服務(wù)器
head節(jié)點(diǎn)代表最新的commit 顯示head 信息
git show HEAD
回退:git reset 選項(xiàng) 提交點(diǎn)(選項(xiàng):--hard表示全恢復(fù) 提交點(diǎn):可用ID或標(biāo)簽)
git reset --hard v0.1
查詢所有提交點(diǎn)
git reflog #回退后需要反悔的話,需要通過(guò)此命令查找到所有操作的提交點(diǎn)
合并分支的起始點(diǎn)(不推薦)
git checkout master git rebase reking #合并分支reking和主干master,合并后的提交點(diǎn)屬于主干master
clone 克隆遠(yuǎn)程文件
git clone "遠(yuǎn)程地址" "本地文件名稱(chēng)"
push 推送本地修改分支至遠(yuǎn)程git倉(cāng)庫(kù)
git push -u origin feature-wxDemo
fetch與pull
fetch是將遠(yuǎn)程主機(jī)的最新內(nèi)容拉到本地,不進(jìn)行合并
git fetch origin master
pull 則是將遠(yuǎn)程主機(jī)的master分支最新內(nèi)容拉下來(lái)后與當(dāng)前本地分支直接合并 fetch+merge
git pull origin master
如果遠(yuǎn)程分支是與當(dāng)前分支合并,則冒號(hào)后面的部分可以省略。如下:
git pull origin master:feature-wxDemo #git pull <遠(yuǎn)程主機(jī)名> <遠(yuǎn)程分支名>:<本地分支名>
統(tǒng)計(jì)文件改動(dòng)
git diff --stat master origin/master #git diff <local branch> <remote>/<remote branch>
git分支說(shuō)明
Production分支(主線分支用于發(fā)版,不會(huì)直接改)
Master分支,這個(gè)分支只能從其他分支合并,不能在這個(gè)分支直接修改
Develop分支(開(kāi)發(fā)分支)
這個(gè)分支是我們是我們的主開(kāi)發(fā)分支,包含所有要發(fā)布到下一個(gè)Release的代碼,這個(gè)主要合并與其他分支,比如Feature分支
Feature分支(新功能分支)
這個(gè)分支主要是用來(lái)開(kāi)發(fā)一個(gè)新的功能,一旦開(kāi)發(fā)完成,我們合并回Develop分支進(jìn)入下一個(gè)Release
Release分支(偏向測(cè)試)
當(dāng)你需要一個(gè)發(fā)布一個(gè)新Release的時(shí)候,我們基于Develop分支創(chuàng)建一個(gè)Release分支,完成Release后,我們合并到Master和Develop分支
Hotfix分支(緊急bug發(fā)布)
當(dāng)我們?cè)赑roduction發(fā)現(xiàn)新的Bug時(shí)候,我們需要?jiǎng)?chuàng)建一個(gè)Hotfix, 完成Hotfix后,我們合并回Master和Develop分支,所以Hotfix的改動(dòng)會(huì)進(jìn)入下一個(gè)Release
比較本地分支與git 主分支差異情況
git diff --stat feature-wxAgentIm origin/master # git diff <local branch> <remote>/<remote branch>
git中一些選項(xiàng)解釋?zhuān)ㄖ匾?/p>
-d --delete:刪除 -D --delete --force的快捷鍵 -f --force:強(qiáng)制 -m --move:移動(dòng)或重命名 -M --move --force的快捷鍵 -r --remote:遠(yuǎn)程 -a --all:所有
以上整理希望能幫助到你。
轉(zhuǎn)載于:https://www.cnblogs.com/wbl001/p/11495110.html
到此這篇關(guān)于Git pull(拉取),push(上傳)相關(guān)命令介紹的文章就介紹到這了,更多相關(guān)Git pull(拉取),push(上傳)命令內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
git中submodule子模塊的添加、使用和刪除的示例代碼
這篇文章主要介紹了git中submodule子模塊的添加、使用和刪除的示例代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-08-08
Web 設(shè)計(jì)與開(kāi)發(fā)者必須知道的 15 個(gè)站點(diǎn)
今天讀到一篇文章,介紹了15個(gè)對(duì) Web 設(shè)計(jì)與開(kāi)發(fā)師極端有用的站點(diǎn),里面有不少也是我們一直在使用的,也許對(duì)很多人都有用,翻譯出來(lái)以餉同仁。2009-08-08
git如何撤銷(xiāo)已經(jīng)push的merge問(wèn)題
文章講述了如何使用git命令撤銷(xiāo)已經(jīng)push的merge操作,首先,確保當(dāng)前處于需要撤銷(xiāo)合并的分支,然后,找到這次merge的commit-id,最后,使用git revert命令以當(dāng)前分支為主線分支進(jìn)行撤銷(xiāo)操作2024-12-12
git分支(branch)操作相關(guān)命令及分支命令的使用
這篇文章主要介紹了git分支(branch)操作相關(guān)命令及分支命令的使用的相關(guān)資料,需要的朋友可以參考下2017-10-10
使用swipe方法模擬屏幕滑動(dòng)與手勢(shì)密碼繪制
這篇文章主要介紹了使用swipe方法模擬屏幕滑動(dòng)與手勢(shì)密碼繪制 ,本文通過(guò)實(shí)力代碼,圖文效果的形式給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-08-08
使用openssl實(shí)現(xiàn)私有CA的搭建和證書(shū)的頒發(fā)
這篇文章主要介紹了使用openssl實(shí)現(xiàn)私有CA的搭建和證書(shū)的頒發(fā),使用openssl搭建私有CA,openssll和私有CA搭建相關(guān)的配置文件,里面包含了很多和證書(shū)相關(guān)的設(shè)置,后續(xù)創(chuàng)建對(duì)應(yīng)文件的時(shí)候需要根據(jù)配置文件中的信息進(jìn)行創(chuàng)建,需要的朋友可以參考下2022-10-10
Git中smart Checkout與force checkout的區(qū)別及說(shuō)明
這篇文章主要介紹了Git中smart Checkout與force checkout的區(qū)別及說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-08-08

