1. 程式人生 > >Git實用操作和GitKraken工具使用

Git實用操作和GitKraken工具使用

git

git是現在最流行的版本管理工具,應用範圍非常廣泛,工作中基本都會用到(除了一些網際網路金融公司外)。使用git好處有很多,包括但不限於便於多分支開發,
歷史管理跟回滾方便,釋出等。配合webhook,可以在ci上整合自動釋出等。是一件利器。熟練git的一些基本操作,會給開發帶來很大好處。

命令列

個人並不是完全使用命令列來進行所有的git操作的,使用圖形化工具真的會方便很多。然而有些情況下也會使用到命令列的方式來進行某些操作。瞭解一些命令列,會更好。

  • 基本操作

    git clone rep_address       // 克隆一個遠端庫
    git status                  //檢視當前狀態
    git add file_name //將某個檔案新增到git git add . // 將所有新檔案新增到git git commit -am 'message' // 提交所有更改,帶描述 git push //提交到遠端庫 git diff //檢視diff
  • 分支

    git checkout branch_name      //checkout到某個分支
    git branch                    //檢視分支
    git branch some               // 新建一個名為some的分支
    git push [遠端名] :[分支名] //刪除某一遠端分支
  • 提交到遠端倉庫

    //建立本地倉庫,並push到遠端倉庫
    git init        //將本地目錄新增到倉庫
    git remote add [shortname] [url] 
    git add .
    git commit -am 'first commit'
    git push --set-upstream [url]/[shortname] master       
  • 提交者

    (PS: Md裡'-'分點,下面的內容有斷行就會分開,所以嵌入的程式碼塊不能帶空行,不然顯示出錯)
    // 設定全域性
    git config --global user.name 'Author Name'
    git config --global user.email 'Author Email' // 或者設定本地專案庫配置 git config user.name 'Author Name' git config user.email 'Author Email'
  • cherry pick

    git cherry-pick [commit-id]  //將某個commit,cherry pick到當前分支
  • 合併

    git merge xxx              //將某個指定分支合併到當前分支
    git merge [commit-id]  //將另一個分支某個commit-id為止的程式碼merge到當前分支
  • stash

    git stash                      //儲存當前的工作進度。會分別對暫存區和工作區的狀態進行儲存
    git stash save "message..."   //這條命令實際上是第一條 git stash 命令的完整版
    git stash list                //顯示進度列表。此命令顯然暗示了git stash 可以多次儲存工作進度,並用在恢復時候進行選擇
    git stash pop [--index] [<stash>]              //如果不使用任何引數,會恢復最新儲存的工作進度,並將恢復的工作進度從儲存的工作進度列表中清除。如果提供引數(來自 git stash list 顯示的列表),則從該 <stash> 中恢復。恢復完畢也將從進度列表中刪除 <stash>。選項--index 除了恢復工作區的檔案外,還嘗試恢復暫存區。
    git stash apply [--index] [<stash>]          //除了不刪除恢復的進度之外,其餘和 git stash pop 命令一樣
    git stash clear                              //刪除所有儲存的進度
    git stash show -p                      //檢視最近stash的diff
    git stash show -p [email protected]{1}     //檢視某個stash的diff
  • 回滾

    git reset --hard [commit-id]  //回滾到某個commit , 可選 --soft, --mixed
  • 標記

    git update-index --assume-unchanged [filename]     //假定某個檔案沒有發生變化,但是切換分支,pull程式碼會更新index
    git update-index --no-assume-unchange [filename]   //取消
    git update-index --skip-worktree  [filename]       //將某個檔案從git檢測中忽略
    git update-index --no-skip-worktree [filename]     //取消
  • 統計

    //統計倉庫裡每個人的提交行數
    git log --format='%aN' | sort -u | while read name; do echo -en "$name\t"; git log --author="$name" --pretty=tformat: --numstat | awk '{ add += $1; subs += $2; loc += $1 - $2 } END { printf "added lines: %s, removed lines: %s, total lines: %s\n", add, subs, loc }' -; done
  • ssh
    見gitoschina的教程,講得很詳細。--> git ssh

gui工具

git的影象化管理工具有兩個是比較推薦用的,sourceTree以及GitKraken。個人比較喜歡GitKraken,所以下面會以Gitkraken為例介紹。在sourceTree上操作也是差不多的。

簡單操作

一些克隆倉庫,pull程式碼,commit程式碼,push程式碼等操作相當簡單,就不多做介紹了。
如下圖

cherry pick

切換分支,然後在另一個分支上的某個commit上右擊,選擇cherry pick就可以把該commit,提交到當前分支。

stash

stash可以將所有的未提交更改暫存起來。原生代碼做了更改,可以先stash起來,然後pull更新,再次pop,stash。
在GitKraken裡,stash也非常簡單,而且每次pull程式碼時,GitKraken會自動幫我們進行,以下操作

  1. stash 更改
  2. pull 更新
  3. pop stash
  4. 手動處理衝突(如果有)

非常方便/

merge

在GitKraken上,merge分支很方便,直接將另一分支拖動到當前分支,即可合併

合併多個commit

有時提交了很多commit,比如有1,2,3,共三個commit,這三個commit都是為了實現某個功能而做的更改。那麼我們可以把這三個commit合併成一個再進行提交。
操作,右擊第一個commit的前一個提交,選擇reset to this commit -> soft, 這樣就會把1,2,3,三個commit的更改合併在一起,然後再把這些更改重新提交一次即可。

相關推薦

Git實用操作GitKraken工具使用

gitgit是現在最流行的版本管理工具,應用範圍非常廣泛,工作中基本都會用到(除了一些網際網路金融公司外)。使用git好處有很多,包括但不限於便於多分支開發,歷史管理跟回滾方便,釋出等。配合webhook,可以在ci上整合自動釋出等。是一件利器。熟練git的一些基本操作,會給

Git基礎入門(七)Git撤銷操作遠程倉庫管理

git 操作 基 版本 系統 遠程倉庫撤銷操作:註意:Git的有些撤消操作是不可逆的。 這是在使用Git的過程中,會因為操作失誤而導致之前的工作丟失的少有的幾個地方之一取消暫存的文件git add a.py b.py git status On branch master Changes to

Git基本操作使用

源碼 沒有 ini stat 是我 commit ase 源地址 git init 基本命令: git config git init git clone git remote git fetch git commit git rebase git push 本地基本操

Git基本操作Github的使用

本文大部分來自對廖雪峰Git教程 的學習,結合自己的體會,初步掌握Git的使用方法和Github的工作方式。 不會很難,但是瑣碎,所以多實踐,否則記不住。 1. 版本管理系統 為什麼要管理版本,有實際開發經歷的人都有體會,就不需要多說了。這就是水和空氣一樣,那麼重要,那麼天然。

【開發】Git指令操作使用—聽說指令看起來比客戶端騷

前言: Git作為分散式版本控制系統,是我們工作和開原始碼平臺專案管理最火的工具之一,基本上是每個入職的同學都要熟知和學習的。由於我以前的公司都是用的SVN,有時也會用的github客戶端,最近抽空來學習下Git的指令使用,聽說這樣的操作比較騷哦 一、Git下

Git 實用操作:重寫 Commit 歷史

當我們修改完程式碼,提交了一個 commit,然後發現改錯了,怎麼修正?下面分兩種情況來討論:修正最近一次提交,和修正歷史多個提交。 ## 修正最近一次提交 如果發現剛剛提交的內容有錯誤,當場再修改一下再提交一個新 commit 不就可以麼?可以是可以,不過還有一個更加優雅和簡單的解決方法: ```sh

Git 實用操作:撤銷 Commit 提交

有的時候,改完程式碼提交 commit 後發現寫得實在太爛了,連自己的都看不下去,與其修改它還不如丟棄重寫。怎麼操作呢? ## 使用 reset 撤銷 如果是最近提交的 commit 要丟棄重寫可以用 `reset` 來操作。比如你剛寫了一個 commit: ![](https://img2020.cn

最想知道的git操作系列(3)---自定義diffmerge工具(winmerge)

使用git的時候覺得自帶的merge工具不是很順手,同時也習慣winmerge比對工具,這裡mark一下,如何切換使用winmerge 下載安裝就不說了,一切預設安裝即可 這裡說明一下如何配置winmerge 1、配置merge工具  git config --glo

實用資源庫工具,極大縮減開發時間

獲取 lips ali 客戶 個人 .com 轉載 tcl lex 在這篇文章中,我不會與大家談論大型的前端框架,如 React、Angular、Vue 等,也沒有涉及那些流行的代碼編輯器,如 Atom、VS Code、Sublime,我只想與大家分享一個有助於提升開發人

數據庫打開操作基本技巧命令常用工具,php簡單調試

nav 查看連接 停止 php 調試 server 查看 serve pre 工具1:Navicat Premium 工具2:Wampserver32 基本命令打開: 展示:show databases; 創建:creat database le_data2; 使用:use

Git-Windows64位,新手實用操作注意事項

1、重新開啟Git操作以前的檔案 和之前建立庫一樣,先用git config命令指定你要操作的庫(這個庫裡面有屬於你自己需要操控的檔案),就是你退出微信後要重新登入一樣的道理。如果你有想看哪個微信的訊息就登入哪個,輸入使用者名稱和密碼。Git裡面想操作哪個庫也一樣,要對應輸入使用者名稱(就是na

Git操作問題記錄

1.前言 1. 每次push程式碼之前,先從伺服器pull程式碼,保證原生代碼是最新的 git pull origin master --allow-unrelated-histories 2.Git Tag操作 2.1 Tag操作流程 1. $ git

git回滾操作幾個命令的解析

git reset [--hard|soft|mixed|merge|keep] [commit|HEAD] revert是放棄指定提交的修改,但是會生成一次新的提交,需要填寫提交註釋,以前的歷史記錄都在; reset是指將HEAD指標指到指定提交,歷史記錄中不會出現放棄的提交記

Git綜合使用命令列gui工具小結

使用Git的時候,綜合使用命令列和gui工具,可以把Git用的最舒服,因此這裡總結下使用gui和命令列的一些對應操作, gui中拉取:git pull origin dev_branch gui中推送:git push origin dev_branch gui中stage:git add 檔案路徑/檔

超讚!不容錯過的5款實用網頁開發設計工具

現如今,越來越多的移動和桌面端應用開始應用HTML、JS和CSS進行開發,對於網頁開發和設計更是如此。目前這種局面也催生了更多新的網頁技術,包括React.js、Angular以及Node.js這樣的庫。此外,隨著需求及專案的進一步細化,開發者社群幾乎每天都會出現新的庫和開發

JAVA實用操作(一)IDEA用maven建立springMVC專案配置

最近做使用者畫像需要使用API的方式訪問hbase表,這裡構建使用java web專案使用java語言進行API開發,這裡簡單回顧下java web的構建方式。 一.回顧建立SpringMVC Spring MVC 框架在 Java 的 Web 專案中應該是無人

同時使用Git for Windows命令列TortoiseGit工具 都可提交至github

目錄 1、應用場景        因為很多人習慣了使用Git命令列方式進行程式碼提交,現在出現了很多Git提交的GUI工具,如大家經常使用的(GitHub for Desktop、Source Tree、TortoiseGit) 具體使用可以參

git的使用學習(二)github遠端庫的連線同步操作

1.github遠端庫的連線 開啟github官網github. 登入之後 點選這個 然後 輸入名字點選建立就會跳轉到這個介面 我們用紅色箭頭指的現有的庫 然後開啟git 1.這是把本地庫主分支的內容匯入到遠端庫 git push -u origin master 注

git的使用學習(一)本地庫的學習基本操作

1.為什麼使用git 非常好用的分散式開發版本控制系統,用它沒錯哥們 2.怎麼安裝git git官網 預設選項一路奈斯 安裝後,在開始選單裡找到“Git”->“Git Bash”,蹦出一個類似命令列視窗的東西,就說明Git安裝成功! 安裝後要

Git 實用教程(三)_分支操作

Git 分支相當輕量化,因為分支工作的本質是指標在起作用。 一、檢視和建立分支 命令:git branch 使用方法: 無引數,檢視所有分支 git branch 建立一個分支,建立的分支內容和當前分支一模一樣 g