Git Study

Git必須知道當(dāng)前版本是哪個版本,在Git中,用HEAD表示當(dāng)前版本,,上一個版本就是HEAD,上上一個版本就是HEAD,當(dāng)然往上100個版本寫100個比較容易數(shù)不過來,所以寫成HEAD~100。

現(xiàn)在,我們要把當(dāng)前版本A ,回退到上一個版本“B”,就可以使用git reset命令:

` git reset --hard HEAD^`
HEAD is now at ea34578 B

也可以查詢版本 :git log pretty =oneline
顯示出 所有 提交 版本記錄,選擇 id
執(zhí)行 git rest --hard id即可。

HEAD指向的版本就是當(dāng)前版本,因此,Git允許我們在版本的歷史之間穿梭,使用命令git reset --hard commit_id。

穿梭前,用git log可以查看提交歷史,以便確定要回退到哪個版本。

要重返未來,用git reflog查看命令歷史,以便確定要回到未來的哪個版本。

git clean -fd 
git clean -xdf

用于刪除本地未提交到trunk的文件

git push origin --delete <BranchName>刪除遠(yuǎn)程分支
git branch -r查看遠(yuǎn)程分支

分支拉取master分支的代碼
git checkout master
git pull
git checkout Usage-Report
git merge master
git push

遠(yuǎn)程倉庫相關(guān)命令

檢出倉庫:git clone git://github.com/jquery/jquery.git

查看遠(yuǎn)程倉庫:git remote -v

添加遠(yuǎn)程倉庫: git remote add [name] [url]

刪除遠(yuǎn)程倉庫:git remote rm [name]

修改遠(yuǎn)程倉庫:git remote set-url -- push [name][newUrl]

拉取遠(yuǎn)程倉庫:git pull [remoteName] [localBranchName]

推送遠(yuǎn)程倉庫:git push [remoteName] [localBranchName]

分支(branch)操作相關(guān)命令

查看遠(yuǎn)程分支git branch -r
查看遠(yuǎn)程和本地的所有分支git branch -a
查看本地分支和當(dāng)前分支 帶*的為當(dāng)前分支git branch
創(chuàng)建本地分支git branch branchName 注意新分支創(chuàng)建后不會自動切換為當(dāng)前分支
切換分支 git checkout branchName
創(chuàng)建新分支并立即切換到新分支git checkout -b branchName

刪除本地分支 git branch -d /-D branchName
刪除遠(yuǎn)程分支git push origin --delete BranchName
創(chuàng)建遠(yuǎn)程分支(本地分支push到遠(yuǎn)程)git push origin branchName

git push origin test:master // 提交本地test分支作為遠(yuǎn)程的master分支 //好像只寫這一句,遠(yuǎn)程的github就會自動創(chuàng)建一個test分支
git push origin test:test // 提交本地test分支作為遠(yuǎn)程的test分支

如果想刪除遠(yuǎn)程的分支呢?類似于上面,如果:左邊的分支為空,那么將刪除:右邊的遠(yuǎn)程的分支。
git push origin :test // 剛提交到遠(yuǎn)程的test將被刪除,但是本地還會保存的,不用擔(dān)心

git checkout -b 本地分支名 origin/遠(yuǎn)程分支名 拉取遠(yuǎn)程分支到本地某個分支上

git fetch origin master:tmp
//在本地新建一個temp分支,并將遠(yuǎn)程origin倉庫的master分支代碼下載到本地temp分支
git diff tmp
//來比較本地代碼與剛剛從遠(yuǎn)程下載下來的代碼的區(qū)別
git merge tmp
//合并temp分支到本地的master分支
git branch -d temp
//如果不想保留temp分支 可以用這步刪除

查看當(dāng)前詳細(xì)分支信息(可看到當(dāng)前分支與對應(yīng)的遠(yuǎn)程追蹤分支):
git branch -vv
查看當(dāng)前遠(yuǎn)程倉庫信息
git remote -vv

git pull相當(dāng)于git fetch 和merge的結(jié)合

版本(tag)操作相關(guān)命令

查看版本:git tag
創(chuàng)建版本:git tag [name]
刪除版本:git tag -d [name]
查看遠(yuǎn)程版本:git ls-remote --tags origin
創(chuàng)建遠(yuǎn)程版本(本地版本push到遠(yuǎn)程):git push origin [name]
刪除遠(yuǎn)程版本:git push origin :refs/tags/[name]

若存在很多未推送的本地標(biāo)簽,你想一次全部推送的話,可以使用一下的命令:

git push origin --tags

子模塊(submodule)相關(guān)操作命令

添加子模塊:git submodule add [url] [path]
如:$ git submodule add git://github.com/soberh/ui-libs.git src/main/webapp/ui-libs
初始化子模塊:git submodule init----只在首次檢出倉庫時運行一次就行
更新子模塊:git submodule update----每次更新或切換分支后都需要運行一下
刪除子模塊:(分4步走哦)
1)git rm --cached [path]

  1. 編輯“.gitmodules”文件,將子模塊的相關(guān)配置節(jié)點刪除掉
  2. 編輯“.git/config”文件,將子模塊的相關(guān)配置節(jié)點刪除掉
  3. 手動刪除子模塊殘留的目錄
忽略一些文件、文件夾不提交

在倉庫根目錄下創(chuàng)建名稱為“.gitignore”的文件,寫入不需要的文件夾名或文件,每個元素占一行即可,如
target
bin
*.db

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Git 基礎(chǔ) 基本原理 客戶端并不是只提取最新版本的文件快照,而是把代碼倉庫完整的鏡像下來。這樣一來,任何一處協(xié)同...
    __silhouette閱讀 16,203評論 5 147
  • 1,查看所有遠(yuǎn)程分支:%git branch -r 2, 拉取遠(yuǎn)程分支并創(chuàng)建本地分支git checkout -...
    will666閱讀 2,198評論 0 18
  • git branch 查看本地所有分支 git status 查看當(dāng)前狀態(tài) git commit 提交 git b...
    猿萬閱讀 5,397評論 1 45
  • 一、 Git 常用命令速查 git branch 查看本地所有分支 git status 查看當(dāng)前狀態(tài) git c...
    LOVE_晴天閱讀 2,412評論 0 10
  • 一、基本指標(biāo) Expected return/mean(期望收益/均值): ?=(R1+R2+R3+.....R...
    欣欣同學(xué)閱讀 827評論 0 1

友情鏈接更多精彩內(nèi)容