1. 程式人生 > >Git常用命令總結,不定期更新

Git常用命令總結,不定期更新

關於Git是什麼,或者一些使用Git專案的我就不說了,只說一下簡單的命令和我常用的到東西,建議先敲命令再用視覺化工具

1. 常用命令

  • git init 會生成.git檔案

  • git remote add origin https://xxxxxxx.git 將本地git關聯到遠端中央庫

  • git add 字尾檔名可以指定新增某些檔案到暫存區,或者字尾--all/.可以將當前管理檔案下的所有改動檔案新增

  • git commit提交暫存區內更改,在這之後需要填寫提交日誌,也可以直接在後面追加-m "[message]"合併操作

  • git push origin [branch-name] -f

    強制推送分支,用於已知的衝突的情況下,一般在公司不建議這樣用

  • git branch 檢視本地倉庫,字尾加-a可以檢視本地和遠端branch

  • git branch [branch-name] 建立分支,但是並沒有切換到該分支.

  • git checkout [branch-name]切換到指定分支,在checkout後追加-b會建立分支並切換

  • git push將本地推送到遠端,如果本地是本地新建的分支需要建立推送關係,追加--set-upstream origin [origin-branch-name]

  • git pull將遠端拉取到本地

  • git merge [branch-name]

    將指定分支合併到當前分支,如果發生衝突需要先解決相關衝突進行更改

  • git merge --abort終止當前merge操作,這樣就可以重新進行合併操作

上述是正常的操作命令,下面是關於一些關於刪除和撤銷的命令.

2. 刪除命令

  • git branch -d [branch-name]刪除指定分支-------當前操作的branch不能進行刪除操作,如果要刪除的分支沒有向master分支進行合併,那麼強制刪除是需要將-d更換成-D,這裡需要多一句,本身branch就是一個引用,刪除的只是引用,並不是真正的刪除,Git的自動將回收機制會在一定時間內回收.所以branch是可以恢復的,但是一定要是在Git沒有回收之前.

  • git push origin :[branch-name]刪除遠端分支-------這個並不是真正的刪除遠端,只是推送了一個空的分支,看著就像刪除了一樣.主要origin後面一定要有一個空格

3. 撤銷命令

  • git reset --hard HEAD^撤銷最新一次的提交------當然也可以撤銷之前很多的次的提交只需要更改HEAD後面的^的個數或者直接HEAD~n(n>=1);
  • reset後面有三個字尾,

--soft重置commit,將頭指標恢復,已經add的快取以及工作空間的所有東西都不變容;

--mixed就將頭恢復掉,已經add的快取也會丟失掉,工作空間的程式碼什麼的是不變的;

--hard重置commit,並清空所有操作;

  • git rebase -i HEAD~n撤銷指定位置的commit------在這之後會彈出對應的操作框,你需要將你將你要撤銷的commit整行刪除然後儲存退出就可以了

  • git rebase --onto [目標commit] [起點commit] [終點commit]撤銷指定位置的commit-----和上面的效果是一樣的,解釋下引數,第一個可以理解為你要撤銷的前一個,第二個可以理解為你要撤銷的那個,第三個一般寫當前分支的名字(其實也就是最新的commit)

  • git revert HEAD^倒置最新一個commit的所有內容------可用於已經將commit推送的遠端的情況.

  • git rm -r --cached [file_name/.]取消git對於某個檔案進行跟蹤,該操作並不會真實的產出本地檔案,如需刪除需要將 --cached更換為–f

4. 其他命令

  • git checkout XXX+git checkout -b [branch-name]這樣就可以恢復指定分支,XXX是通過git reflog找到的sha-1值找你刪除前的最後一次操作,一般都是moving from [del-branch-name] to master,這個就要看你找的對不對了.還有一個特殊情況就是log已經被刪除了或者引用唄回收那就無力迴天了(反正我是不知道怎麼恢復,有大佬,請留言).

  • git stash+git stash pop這個是一個小技巧吧,就是將當前工作目錄的改動藏匿起來.場景就是在你正在寫什麼東西的時候老闆來一句:給我把那個什麼給我打個包.呵呵噠!!!然後我們add-commit-checkout-打包-reset-繼續寫程式碼,這尷尬了!有了這個就可以stash-checkout-打包-stash pop-繼續寫程式碼.reset是有風險的,玩不好就炸了.不要問我為什麼!!!

  • git tag預設展示該分支下tag標籤新

  • git tag -a [version-name] -m "[tag-desc]"給當前分之增加tag

5. Git忽略檔案

不要小看.gitignore檔案的作用 !!!

它可以幫你在提交的時候省去很多麻煩,所以在寫的時候可以仔細想一想再寫.

當然如果你剛開是沒想好,後面想不上,只是單純的補一個檔案路徑上去是不行的,需要刪除git的跟蹤.

  • 命令如下

git rm -r --cached [file_name/.]

git add .

git commit -m "xxx"(建議使用git commit 寫個詳細的commit msg)

git push

6.工作小記

以下為個人觀點

  1. commit的整潔性.
    • 目的: 方便自己和他人進行相關review

    我的做法:利用rebase合併commit或者進行reset之後重新commit.當你在一些開原始碼進行pr的時候都要遵循和保證這個.

  2. 工作流
    • 目的: 保證程式碼的正確性,規範程式碼釋出和開發流程,便於版本維護

總結一下,關於上面寫的命令都是可以自己去git --help看看,看懂了加上一些其他Git文章的輔助,命令列就會寫的很有底氣了.

有則改之,無則加勉

相關推薦

Git常用命令總結,定期更新

關於Git是什麼,或者一些使用Git專案的我就不說了,只說一下簡單的命令和我常用的到東西,建議先敲命令再用視覺化工具 1. 常用命令 git init 會生成.git檔案 git remote add origin https://xx

ubuntu常用命令總結 定時更新

檔案操作 命令 解釋 / 根目錄 ./ 當前目錄 …/ 上一級目錄 cd 目錄名

自然語言處理(NLP)常用開源工具總結----定期更新

       學習自然語言這一段時間以來接觸和聽說了好多開源的自然語言處理工具,在這裡做一下彙總方便自己以後學習,其中有自己使用過的也有了解不是很多的,對於不甚瞭解的工具以後學習熟悉了會做更新的。 1.IKAnalyzer IK Analyzer是一個開源的,基於Jav

初學者:Git常用命令總結

list 解決 狀態 出現 git merge tag git show epo rep git init 在本地新建一個repo,進入一個項目目錄,執行git init,會初始化一個repo,並在當前文件夾下創建一個.git文件夾. git clone

Git常用命令總結【轉】

mda 同時 owa rem resolve fff gin spl 包含 轉自:http://www.cnblogs.com/mengdd/p/4153773.html 查看、添加、提交、刪除、找回,重置修改文件 git help <command> #

Git 常用命令總結

最好的 最新代碼 ... OS tor delphi gin online 用戶配置 Git常用命令 請確保已經安裝裏git客戶端 一般配置 git --version //查看git的版本信息 git config --global use

git常用命令總結

當前 文件的 parent size merge 時間設置 做成 nginx keyword git常用命令總結 創建 復制一個已創建的倉庫: $ git clone blog.git 創建一個新的本地倉庫: $ git init 本地修改 顯示工作路徑下已修

git常用命令總結--廖雪峰老師Git教程命令總結

應該 都是 sta really nbsp mic dex ali 最快 學習了廖雪峰老師的Git教程之後的命令總結,重點關於git和遠程倉庫的東西。 如果沒有學過,這是傳送門 下面這個圖很重要 一、git初始化本地倉庫和配置   echo "想輸入到

matlab常用命令總彙(定時更新)

1.who列出當前工作空間的變數 2.whos列出當前工作空間的變數及資訊 3.clear從工作空間清除所有變數 4.delete從磁碟中刪除指定檔案 5.save name儲存工作空間變數到檔案name.mat 6.ans執行中的預設變數名 7.pi圓周率 8.%e指數格式 9.%f小數格

python常用模組(定期更新

前言:   隨著python開發專案越來越大,顯然應該把不同功能的程式碼放到不同的.py檔案裡,每一個.py檔案叫一個模組;模組分為(1)內建標準模組(2)第三方模組(3)自定義模組 這三種。這篇部落格就是用來記錄一些常用的內建模組的,時不時會更新一下。主要還是方便自己查閱。   注:os模組

Git 常用命令總結(一)

一、設定基本資訊 git config --global user.name "xiaobu" git config --global user.email "[email protected]" 檢視配置資訊 git config --list 設定本地

Linux常用命令定期整理)

參考連線 系統性能 1、top : 動態實時顯示cpu、記憶體、程序等使用情況 2、df –h : 檢視系統記憶體及虛擬記憶體使用情況 (遇到磁碟已滿的情況) 3、du –sh * : 檢視目錄檔案大小 4、fdisk -l | grep Disk : 檢視

iOS 字串常用方法總結——定時更新

                                                                                                     1.字串逆序排序: NSString *strs = @"ab

VSCODE常用外掛記錄—定期更新

常用必備: 1. vscode-icon 讓 vscode 資源樹目錄加上圖示,必備良品! 2. Path Intellisense 自動路勁補全,預設不帶這個功能的 3. beautify Beautify css/

Linux常用命令總結(持續更新

檢視作業系統:$ cat /etc/os-releaseCentOS 也可以檢視以下檔案,如果不是CentOS會提示沒有這個檔案$ cat /etc/redhat-release辨別是CentOS還是Ubuntu還可以看是不是有命令yum/apt-getyum install

Git常用命令總結(超實用)【轉】

轉自:https://www.linuxprobe.com/git-common-commands.html 本文由LinuxProbe.Com團隊成員逄增寶整理髮布,原文來自:Linux就這麼學。 導讀 Git是一款免費、開源的分散式版本控制系統,用於敏捷高效地

[Git]git常用命令總結

分支類: Git branch 列出本地已存在的分支 *代表當前分支   -a 列印所有遠端分支   Git branch<分支名>新建本地分支

es6,es7,es8語法總結 =====>> (定期更新)

ES6 1. var let const let,const具有塊級作用域,不具有變數提升 const 用於不能被重新賦值的變數 2. 箭頭函式 我們經常要給回撥函式給一個父級的this

git 常用命令總結git伺服器程式碼倉庫建立

進來一段時間一直在忙碌,很少回頭總結學過,用過的知識,由於缺少總結導致下次在遇到的時候總是記憶很模糊,有種似曾相識但卻無能為力的感覺。特在此加以總結形成部落格.很多原理性東西還不是很懂, 以後有時間慢

Android studio開發的常用知識(定期更新

最近正在學習利用android studio3.0開發簡單的Android應用,有很多瑣碎的知識點和要記的東西,想要做一個筆記,方便以後的複習回顧。 就從這篇文章為開篇吧。 1.線性佈局LinearLa