本地分支推送至遠程
git checkout local_branch git push origin local_branch:remote_branch
一、查看遠程分支
使用如下Git命令查看所有遠程分支:
git branch -r
列出本地分支:
git branch
刪除本地分支:
git branch -D BranchName
其中-D也可以是--delete,如:
git branch --delete BranchName
刪除本地的遠程分支:
git branch -r -D origin/BranchName
遠程刪除git服務器上的分支:
git push origin -d BranchName 其中-d也可以是--delete,如: git push origin --delete BranchName
二、拉取遠程分支並創建本地分支
方法一
使用如下命令:
git fetch git branch -r git checkout -b fenzhi001 origin/fenzhi001
git checkout -b 本地分支名x origin/遠程分支名x
使用該方式會在本地新建分支x,並自動切換到該本地分支x。
方式二
使用如下命令:
git fetch origin fenzhi001:fenzhi001 git checkout fenzhi001
使用該方式會在本地新建分支x,但是不會自動切換到該本地分支x,需要手動checkout
查看標簽 打印所有標簽 git tag 打印符合檢索條件的標簽 git tag -l <版本號> 如 git tag -l 1.*.* 為搜索一級版本為1的版本 查看對應標簽狀態 git checkout <版本號> 創建本地標簽 創建輕量標簽 輕量標簽指向一個發行版的分支,其只是一個像某commit的引用,不存儲名稱時間戳及標簽說明等信息。定義方法如下 git tag <版本號>-light 創建帶附注標簽 相對於輕量標簽,附注標簽是一個獨立的標簽對象,包含了名稱時間戳以及標簽備注等信息,同時指向對應的commit。定義方法如下 git tag -a <版本號> -m "<備注信息>" 同時我們也可以像特定的commit添加標簽,使用該commit對應的SHA值即可 git tag -a <版本號> <SHA值> -m "<備注信息>" 比如 git tag -a 1.0.0 0c3b62d -m "Release Edition v1.0.0" 就是為SHA為0c3b62d的這次提交打了1.0發行版的tag 刪除本地標簽 git tag -d <版本號> 將本地標簽提交到遠程倉庫 前面所提到的創建標簽,只是將標簽添加到了本地的版本管理,我們需要在創建之后將本地標簽同步到遠程倉庫,如Github。 推送所有標簽 git push origin --tags 推送指定版本的標簽 git push origin <版本號> 刪除遠程倉庫的標簽 同創建本地標簽一樣,刪除了本地標簽之后也要同時刪除遠程倉庫的標簽。 新版本Git (> v1.7.0) git push origin --delete <版本號> 新舊版本通用方法 舊版本Git並沒有提供直接刪除的方法,而我們可以通過將一個空標簽替換現有標簽來實現刪除標簽,即如下命令 git push origin :refs/tags/<版本號> 補充:使用Github添加標簽
在項目中使用Submodule
使用git命令可以直接添加Submodule:
git submodule add 地址 目錄名
git submodule add git@github.com:jjz/pod-library.git common
使用 git status命令可以看到
git status
On branch master
Changes to be committed:
new file: .gitmodules
new file: common
可以看到多了兩個需要提交的文件:.gitmodules和 common
.gitmodules 內容包含Submodule的主要信息,指定reposirory,指定路徑:
[submodule "pod-library"]
path = common
url = git@github.com:jjz/pod-library.git
發布子模塊改動
git push --recurse-submodules=check
或者
git push --recurse-submodules=on-demand
如何使用Git刪除新增的文件
解決方案
百度和實踐了一波,總結有兩個解決方案
1. 使用git clean刪除
git clean的作用就是清除未track的文件或文件夾, 主要有以下幾個用法
git clean -n
1
使用此命令將會顯示將要刪除的文件(注:但如果是新增的文件夾,則不會顯示,包括這個文件夾下的文件也不會顯示)
git clean -f <path>
1
使用此命令將會刪除新增的文件,但不會刪除新增的文件夾(包括這個文件下的文件)
git clean -df
1
使用些命令則會刪除新增的文件和新增的文件夾
git clean -xdf
1
使用此命令則會刪除新增的文件和新增的文件夾,包括被.ignore文件過濾文件或文件夾,所以這個命令最好是不要用。
2. 先將文件提交,再使用git reset --hard命令來刪除
這個方案不提倡,使用麻煩,還容易誤刪代碼。