前言:博主最近在學習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 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 tag -a v0.2 4a80f64(提交點SHA1的ID的前7位)
git tag -a tagV1 d819565b #提交點SHA1的ID的前7位
回車之后會有輸入tag內容的界面,然后像linux一樣 點擊 i 編輯 輸入信息后 esc 然后 :wq 保存退出
簡化git日志輸出格式
git log --oneline
顯示主分支和自分支git日志 (前面會多個星號)
git log --oneline --graph
查看本地添加了哪些遠程分支地址
git remote
查看本地添加了哪些遠程分支地址(詳細)
git remote -v
刪除本地指定的遠程地址
git remote remove origin
添加遠程地址
git remote add origin https://xxxxxxxxxxxx.git
分支:分支意味著你可以從開發主線(master)上分離開,在不影響主線的同事繼續工
git branch #列出當前開發所有分支(默認會有master)git branch king #創建一個king的分支(最新提交點)git branch king 提交點 # 創建一個king的分支(指定提交點)git branch -d -r <branchname> # 刪除遠程分支,刪除后還需推送到服務器git push origin:<branchname> # 刪除后推送至服務器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分支進入下一個Release
Release分支(偏向測試)
當你需要一個發布一個新Release的時候,我們基于Develop分支創建一個Release分支,完成Release后,我們合并到Master和Develop分支
Hotfix分支(緊急bug發布)
當我們在Production發現新的Bug時候,我們需要創建一個Hotfix, 完成Hotfix后,我們合并回Master和Develop分支,所以Hotfix的改動會進入下一個Release
比較本地分支與git 主分支差異情況
git diff --stat feature-wxAgentIm origin/master # git diff <local branch> <remote>/<remote branch>
git中一些選項解釋(重要):
-d--delete:刪除-D--delete --force的快捷鍵-f--force:強制-m--move:移動或重命名-M--move --force的快捷鍵-r--remote:遠程-a--all:所有
以上整理希望能幫助到你。
轉載于:https://www.cnblogs.com/wbl001/p/11495110.html
到此這篇關于Git pull(拉取),push(上傳)相關命令介紹的文章就介紹到這了,更多相關Git pull(拉取),push(上傳)命令內容請搜索武林網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持武林網!
新聞熱點
疑難解答