日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Git 命令大全整理

發布時間:2023/12/31 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Git 命令大全整理 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

git是一個非常好用的分布式版本管理工具,功能比svn強大,與SVN不同點是Git去中心化,每一個分支都是一個中心,并且支持本地倉庫存儲,像如今很多大公司都用git做版本控制。話不多說,具體命令整理如下:

先上一個命令大圖:

git拉取遠程代碼

git clone https://xxx.git

git拉取遠程指定分支下代碼(-b 分支名稱)

git clone -b v2.8.1 https://xxx.git

git 在本地將代碼上傳到別的遠程分支(指定分支):

git push origin master:xxxx(這是要上傳到的遠程分支名)

恢復-f強制推送到遠程倉庫前一個版本的數據:

git reflog // 查看歷史提交記錄 git reset --hard xxxx // 這是要回復版本commit 提交信息對應的信息數據

切換分支后不要直接pull 將要開發分支的代碼,這樣本地可能會有殘留代碼,直接如下:

git reset --hard origin/要拉取的目標分支名 ---目標遠程分支合到本地分支

初始化一個本地倉庫,在同級目錄下會出現一個隱藏的.git文件

git init

查看git的配置信息

git config -l

git配置本地倉庫的userName(必須)

git config user.name 'Lee'

git配置本地倉庫的郵箱(必須)

git config user.email '12345@qq.com'

三級文件配置路徑:

.git/config /.gitconfig #當前用戶目錄 /etc/gitconfig #git安裝目錄

本地提交到git索引(緩存)中

git add . #把新增的、修改的都加到緩存 git add -A #把新增、和修改的、和刪除的都加到緩存

本地從緩存中加到文件庫(repository)中

git commit -m '版本描述' #提交到文件庫

本地一件提交到文件庫中

git commit -am '版本描述' #一步完成提交

查看當前git狀態信息(查看是否有文件未提交)

git status

git中的三類文件

被追蹤的(tracked):已經加入文檔庫 不被追蹤的(untracked):沒有加入文檔庫 忽略的(ignored):忽略那些不需要管理的文件夾或文件

git新建忽略文件 目錄下建立一個.gitignore文件(可以有多個,影響范圍當前文件及子文件)

touch .gitignore

.gitignore文件忽略內容demo

# Maven # target/# IDEA # .idea/ *.iml# Eclipse # .settings/ .classpath .project 

注意:新建的一個忽略文件,為什么沒有生效

答:可能是因為你的緩存區已經有忽略的文件了,所以需要先清空緩存區里的文件,重新add和commit操作

刪除緩存區所有文件命令

git rm -r --cached . #主要這個點一定要寫

重新add到緩存區

git add .

每一次commit都是一個提交點,唯一標識SHA1的ID,ID可使用前4至7個數字表示

查看git的日志信息

git log

查看本地添加了哪些遠程分支地址

git remote

查看本地添加了哪些遠程分支地址(詳細

git remote -v

刪除本地指定的遠程地址

git remote remove origin

添加遠程地址

git remote add origin https://xxxxxxxxxxxx.git

分支:分支意味著你可以從開發主線(master)上分離開,在不影響主線的同事繼續工

git branch #列出當前開發所有分支(默認會有master)<br> git branch king #創建一個king的分支(最新提交點)<br> git branch king 提交點 # 創建一個king的分支(指定提交點) <br>git branch -d -r <branchname> # 刪除遠程分支,刪除后還需推送到服務器<br>git push origin:<branchname> # 刪除后推送至服務器<br><br> git branch -d king #刪除king分支git checkout king #切換至king分支git checkout master git merge king #合并分支king和主干master,合并后的提交點屬于主干master

本地分支重命名

git branch -m <oldbranch> <newbranch>

查看本地和遠程的所有分支

git branch -a

查看遠程所有分支

git branch -r

重命名遠程分支:

1、刪除遠程待修改分支
2、push本地新分支到遠程服務器

head節點代表最新的commit 顯示head 信息

git show HEAD

回退:git reset 選項 提交點(選項:–hard表示全恢復 提交點:可用ID或標簽)

git reset --hard v0.1

查詢所有提交點

git reflog #回退后需要反悔的話,需要通過此命令查找到所有操作的提交點

合并分支的起始點(不推薦)

git checkout master git rebase reking #合并分支reking和主干master,合并后的提交點屬于主干master

clone 克隆遠程文件

git clone "遠程地址" "本地文件名稱"

push 推送本地修改分支至遠程git倉庫

git push -u origin feature-wxDemo

fetch與pull

fetch是將遠程主機的最新內容拉到本地,不進行合并

git fetch origin master

pull 則是將遠程主機的master分支最新內容拉下來后與當前本地分支直接合并 fetch+merge

git pull origin master

如果遠程分支是與當前分支合并,則冒號后面的部分可以省略。如下:

git pull origin master:feature-wxDemo #git pull <遠程主機名> <遠程分支名>:<本地分支名>

統計文件改動

git diff --stat master origin/master #git diff <local branch> <remote>/<remote branch> 

git分支說明

Production分支(主線分支用于發版,不會直接改) Master分支,這個分支只能從其他分支合并,不能在這個分支直接修改Develop分支(開發分支) 這個分支是我們是我們的主開發分支,包含所有要發布到下一個Release的代碼,這個主要合并與其他分支,比如Feature分支Feature分支(新功能分支) 這個分支主要是用來開發一個新的功能,一旦開發完成,我們合并回Develop分支進入下一個ReleaseRelease分支(偏向測試) 當你需要一個發布一個新Release的時候,我們基于Develop分支創建一個Release分支,完成Release后,我們合并到Master和Develop分支Hotfix分支(緊急bug發布) 當我們在Production發現新的Bug時候,我們需要創建一個Hotfix, 完成Hotfix后,我們合并回Master和Develop分支,所以Hotfix的改動會進入下一個Release

比較本地分支與git 主分支差異情況

1
git diff --stat feature-wxAgentIm origin/master # git diff /

git回退到某一版本

git reset --hard commitIdgit push origin 分支 --force ##強制重新提交

git回退到某一版本

git reset --hard commitIdgit push origin 分支 --force ##強制重新提交

git中一些選項解釋(重要):

-d --delete:刪除-D --delete --force的快捷鍵-f --force:強制-m --move:移動或重命名-M --move --force的快捷鍵-r --remote:遠程-a --all:所有git 解決遠程沖突思路: ```clike 1:先在本地切換到主分支上(git branch master),拉取最新代碼2:再切換到bug分支上,例如:feature-XXX3:git merge master4:會提示哪個文件有沖突,解決后,小烏龜找到沖突文件,點擊resolve5:git commit -> git push這樣沖突就解決了 git 在不想commit的情況下進行git pull操作:會報如下提示:![在這里插入圖片描述](https://img-blog.csdnimg.cn/20200824104628903.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3hpZXl1bGVpc3Nz,size_16,color_FFFFFF,t_70#pic_center)當我們的遠程倉庫更改后,想拉取到本地,但是本地也做了更改,暫時不想提交怎么辦?git 提供了一個很方便的命令stash ,先將本地更改放入暫存區,然后拉取,最后將暫存區的代碼merge過來:具體命令:```clike git stash #將本地修改放入暫存區git pull origin develop3.12.9:develop3.12.9 #拉取項目git stash pop #從暫存區取最近一次記錄mergegit stash list #顯示所有stash列表git stash drop stash@{0} #這是刪除第一個隊列git stash clear #清空stash

git 強制拉取遠程代碼覆蓋本地

git fetch --allgit reset --hard origin/mastergit pull

總結

以上是生活随笔為你收集整理的Git 命令大全整理的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。