1. 程式人生 > >Git與Github 常用命令彙總

Git與Github 常用命令彙總

簡而言之

Git是由Linux kernel創立者 Linux Torvalds 開發的(因為BitKeeper的問題),屬於DVCS(分散式版本控制

Github 是一個開源專案社群,始於2007(08上線),GitHub 裡面的專案可以通過標準的 Git 命令進行訪問和操作

跳過步驟

  • 安裝
  • 幾個控制版本之間的區別
  • 還有 一些純理論的,可以直接看書;

而我這篇博文只是介紹一些常用的命令及技巧心得

Git

全域性配置

git config --global user.name crperlin  #git的使用者名稱
git config --global user.email [email protected]
#git的登入賬號 git config --global core.editor vim #設定預設編輯器 git config --global merge.tool vimdiff #設定預設的對比檔案差異工具 git config --global color.status auto #顯示顏色資訊 git config --global color.branch auto #顯示顏色資訊 git config --global color.interactive auto #顯示顏色資訊 git config --global color.diff auto #顯示顏色資訊 git config --global push.default simple #簡化提交
git config --list#檢視配置的資訊 git help config#獲取幫助資訊

配置SSHKEY

配置這貨的好處就是可以省去提交的時候每次都輸入賬號密碼;減少重複工作!

不管是github還是一些基於gitlab的託管社群,配置這個都是大同小異,在個人賬戶那裡找到SSH-KEYGEN

ssh-keygen -t rsa -C [email protected] #生成金鑰,也可以通過圖形工具生成,看個人喜好

ssh -T [email protected] #測試連結github是否成功,其他社群域名不同罷了

初始化本地倉庫/提交/連結遠端倉庫

git init    #初始化
git status #獲取狀態,很實用的一個功能,對檔案做了操作都能看到各種提示資訊 git add <file> # . 或 * 代表全部新增 git commit -m "註釋文字" #添加註釋 git remote add origin [email protected]:crperlin/S-NEXT.git #本地連結遠端倉庫 git push -u origin master #推送到主分支

克隆遠端倉庫

一般的git託管社群都提供兩種,一種是基於https,一種是基於ssh

前者需要賬號密碼提交,後者可以配置SSH-KEYGEN

git clone [email protected]:crperlin/S-NEXT.git    #克隆到本地,倉庫名就是資料夾的名字
git clone xx.git <自定義資料夾名字> #不需要帶括號,只是區別

git倉庫操作

git add *#跟蹤新檔案

git rm -f * #強制刪除所有檔案
git rm --cached *   #取消跟蹤
git mv file_from file_to    #重新命名跟蹤檔案,與linux一致

git log#檢視提交記錄

git commit#提交更新
git commit -m "註釋文字"    #添加註釋
git commit -a   #跳過使用暫存區域,把所有已經跟蹤過的檔案暫存起來一併提交
git commit --amend  #修改最後一次提交

git reset HEAD *#取消已經暫存的檔案

git checkout -- file#取消對檔案的修改(從暫存區去除file)
git checkout branch|tag|commit -- file_name#從倉庫取出file覆蓋當前分支
git checkout -- .#從暫存區去除檔案覆蓋工作區

分支管理

git branch  #列出本地分支
git branch -r   #列出遠端分支
git branch -a   #列出所有分支
git branch -v   #檢視各個分支最後一個提交物件的資訊
git branch --merge  #檢視已經合併到當前分支的分支
git branch --no-merge   #檢視為合併到當前分支的分支

git branch test #新建test分支
git checkout test   #切換到test分支
git checkout -b test    #新建+切換到test分支
git checkout -b test dev#基於dev新建test分支,並切換

git branch -d test  #刪除test分支
git branch -D test  #強制刪除test分支

git merge test  #將test分支合併到當前分支
git rebase master   #將master分之上超前的提交,變基到當前分支

分支資料推送更新

git fetch origin branch #獲取遠端上指定分支
git merge origin branch #合併遠端上指定分支
git push origin branch  #推送到遠端上指定分支
git push origin localbranch:serverbranch    #推送到遠端上指定分支

git checkout -b test origin/dev #基於遠端dev新建test分支

git push origin :server#刪除遠端分支[推送空分支,目前等同於刪除]

標籤版本管理

git tag#列出現有標籤  

git tag v1.0.0  #新建標籤
git tag -a v0.1 -m '註釋文字'   #新建帶註釋標籤
git tag v2.0 9fceb02    #給指定的指向新增版本
git show <version> #顯示指定版本的詳細資訊

git checkout tagname#切換到標籤

git push origin v1.5#推送分支到源上
git push origin --tags#一次性推送所有分支

git tag -d v0.1#刪除標籤
git push origin :refs/tags/v0.1#刪除遠端標籤

alias【別名系統,基本和linux一致】

一. 到配置檔案配置,最傻瓜化的寫法,等值賦予

[alias]
  logs = log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit
  st = status
  ci = commit
  br = branch
  co = checkout
  df = diff
  lg = log -p

二. 命令列追加

 git config --global alias.co checkout
 git config --global alias.ci commit
 git config --global alias.br branch
 ...

文字搜尋

git grep '查詢文字' #對全域性的字串查詢
git grep '查詢文字' v1.0.0 #針對版本的字串查詢

檔案修改詳情跟蹤

git blame <file> #誰,在什麼時間,修改了檔案的什麼內容

撤銷

#放棄工作目錄下的所有修改:
git reset --hard HEAD

#移除快取區的所有檔案(i.e. 撤銷上次git add):
git reset HEAD

#放棄某個檔案的所有本地修改:
git checkout HEAD <file>

#重置一個提交(通過建立一個截然不同的新提交)
git revert <commit>

#將HEAD重置到指定的版本,並拋棄該版本之後的所有修改:
git reset --hard <commit>

#將HEAD重置到上一次提交的版本,並將之後的修改標記為未新增到快取區的修改:
git reset <commit>

#將HEAD重置到上一次提交的版本,並保留未提交的本地修改:
git reset --keep <commit>

相關推薦

GitGithub 常用命令彙總

簡而言之 Git是由Linux kernel創立者 Linux Torvalds 開發的(因為BitKeeper的問題),屬於DVCS(分散式版本控制) Github 是一個開源專案社群,始於2007(08上線),GitHub 裡面的專案可以通過標準的 Git 命令進行訪

github常用命令彙總

創立版本庫 mkdir Baidu cd Baidu git init SSH ssh-keygen -t -rsa -C “[email protected]” (在github上new SSH,內容為id_rsa.pub) 新增遠端庫 (github上新建git倉庫

git使用中常用命令彙總

git init:初始化當前目錄為git倉庫 git clone 倉庫地址:下載一份git倉庫到本地(clone下來的倉庫的預設名為origin,而且下載的是主分支,主分支一般是master) git status:檢查本地是否有更新。 git status -s:和g

GitRepo常用命令

 Git與Repo的比較         Git操作一般對應一個倉庫,而Repo操作一般對應一個專案,即一個專案會由若干倉庫組成。  例如,在操作整個Recket專案時使用Repo,而操作其中的某個倉庫時使用G

gitHub 常用命令 合並沖突問題

本地 界面 想要 合並沖突 working round 自動 spa 檢出 git branch 查看所在當前分支(倉庫) git pull 刷新當前分支(倉庫)文件到本機 git status 查看狀態提示On branch master Your branch is u

gitHub 常用命令 合併衝突問題

git branch 檢視所在當前分支(倉庫) git pull 重新整理當前分支(倉庫)檔案到本機 git status 檢視狀態提示On branch master Your branch is up to date with 'origin/master'.nothing to commit, wo

簡明GitGitHub命令使用教程

首先,安裝git。安裝方法自行搜尋。   然後,開啟一個目錄,用git init將這裡初始化為git倉庫:   在這個資料夾裡新增檔案,git就會感知到。如果你準備在git中(而不是檔案系統中)暫存這些修改,就用git add   要提交這些暫存的修改,就用g

Github常用命令,管理Git倉庫文件分享

上次給大家分享了一個別人的部落格,今天看到了一個網站 給大家推薦一下,裡面是管理GitHub的文件,內容很豐富,GitHub遇到什麼問題看這個文件基本都能解決。 https://coding.net/help/doc/git/repository.html#git_clone 這就是

Git上傳GitHub常用命令

git config --global user.name 'lanyu96' git config --global user.email '[email protected]' //設定SSH key cd ~/.ssh  //檢查是否已生成金鑰 ssh-keygen -t

git常用命令彙總

比較不同    git diff  比較本地和快取區的不同   git diff --cached 比較快取區和分支的不同 刪除和還原     rm test.txt 刪除本地檔案     git rm test.txt 刪除git檔案 撤銷修改和刪除: 1

git 常用命令彙總

1 獲取git的版本 git --version    2 初始化倉庫 git init   初始化一個本地倉庫 git --version   獲取git的版本 git config --global user.name "yourname" git

有關GitGitHub命令

Git:是一款免費、開源的分散式版本控制系統 Github:是用Git做版本控制的程式碼託管平臺 常用Git命令: git init git clone git status git log git add git commit git diff git bra

GitGit常用命令彙總整理(未完待更)

說明:藍色字型(包括表格內容、標題)用作錨點方便詳情跳轉與回跳 命令 簡要說明 git branch 分支管理 git checkout 檢出

本地 Git GitHub 服務器建立連接

keygen src .com logs rsa img blog 生成 image 安裝git; 生成新的 SSH 秘鑰。 ssh-keygen -t rsa -C "郵箱" 添加 SSH 公鑰到 GitHub

git團隊開發常用命令

pull 宋體 成功 常用 項目 http 不同 恢復 git log Git git clone <項目地址,http(s)> 把雲端的項目克隆報本地 git pull 如果有沖突,就先保存本地代碼 git stash暫時擱置

Ubuntu GitHub 常用命令

目的 head gen 方便 文本 commit 比較 -s email 發現以前的學習方法有一些問題,接下來學習一門新的技術和方法,學會使用博客把用的知識點,提煉出來,方便以後自己的學習還有使用。 1.安裝 Ubuntu Linux,通過一條sudo apt-get

初識GitGithub

以及 回退 的人 並保存 開發 page 分布式版本控制 spa 建立 學習和使用Git和Github的確是一件很有意義的事,通過使用Git和Github,可以讓我們很方便地管理自己的各種文件,還可以幫助一名程序員更好地用於代碼管理。而對於一名軟件技術人員,

第一話 GitGitHub

現在 print 控制系統 github上 這樣的 com 意義 分布式 主庫 l Git是什麽? 它是一個開源的分布式版本控制系統,被用來有效、高速的處理從很小到 非常大的項目版本管理。它還是一個開放源碼的版本控制軟件。 l Git的優點:1、分布式控制系統使得使用

GitGitHub

保存 目的 教程 別人 通過 ref data -s 部署 一:GitHub項目地址 https://github.com/zhuzhihun/123 git教程 二:git與GitHub GitHub是一個分布式的版本控制系統,最初由Lin

越困難越容易激發動力(Gitgithub

總結 dos 很多 分布式版本控制 name tar 開放 http rbo   看到這次的作業讓我有點頭暈,全是英文,黑屏界面,有點難以上手。但是跟著步驟一步一步的走,還是可以漸漸地學到很多東西。雖然難但是學會的感覺還是很不錯的。   是Git是一款免費、開源的分布式版本