git常用命令

2021-07-27 09:58:37 字數 3874 閱讀 2904

git config --global user.name '***'

git config --global user.email '***'

git init

git add # 把所有要提交的檔案修改放到暫存區

git commit -m 'add a file' # 把暫存區的所有內容提交到當前分支

git status #掌握工作區狀態

git diff #檢視檔案修改內容

git log #檢視提交歷史

git log --pretty=oneline

git reset --hard head^ #回退到上乙個版本

head^^(上上版本),head~100(往上100個版本)

commit id(版本號) 可回到指定版本

git reflog #檢視歷史命令

工作區(working directory)

版本庫(repository) #.git

stage(index) 暫存區

master git自動建立的分支

head 指標

git diff head -- #檢視工作區和版本庫里最新版本的區別

git checkout -- #用版本庫的版本替換工作區的版本,無論是工作區的修改還是刪除,都可以'一鍵還原'

#丟棄工作區的修改(讓檔案回到最近一次的git commit或git add時的狀態)

git reset head #把暫存區的修改撤銷掉,重新放回工作區。

git rm #刪除檔案,若檔案已提交到版本庫,不用擔心誤刪,但是只能恢復檔案到最新版本

ssh-keygen -t rsa -c '[email protected]' #建立ssh key

git remote add origin [email protected]:username/repostery.git #關聯本地倉庫,遠端庫的名字為origin

#第一次使用git的clone或者push命令連線github時需確認

git push -u origin master #第一次把當前分支master推送到遠端,-u引數不但推送,而且將本地的分支和遠端的分支關聯起來

git push origin master #把當前分支master推送到遠端

git clone [email protected]:username/repostery.git #從遠端庫轉殖乙個到本地庫

#git支援多種協議,包括https,但通過試試支援原生git協議速度最快

分支git checkout -b dev #建立並切換分支

#相當於git branch dev 和git checkout dev

git branch #檢視當前分支,當前分支前有個*號

git branch #建立分支

git checkout #切換分支

git merge #合併某個分支到當前分支

git branch -d #刪除分支

git log --graph #檢視分支合併圖

git merge --no-ff -m 'message' dev #禁用fast forward合併dev分支

#本次合併要建立新的commit,所以要加上-m引數,把commit描述寫進去

#fast forward合併不可檢視合併記錄

git stash #隱藏當前工作現場,等恢復後繼續工作

git stash list #檢視stash記錄

git stash drop #刪除stash內容

git stash pop #恢復現場的同時刪除stash內容

git branch -d #強行刪除某個未合併的分支

#開發新feature最好新建乙個分支

git remote #檢視遠端倉庫

git remote -v #檢視遠端庫詳細資訊

git pull #抓取遠端提交

git checkout -b branch-name origin/branch-name #在本地建立和遠端分支對應的分支

git branch --set-upstream branch-name origin/branch-name #建立本地分支和遠端分支的關聯

標籤git tag v1.0 #給當前分支最新的commit打標籤

git tag v0.9 36df530 #給歷史提交的commit打標籤

git tag -a v0.1 -m 'version 0.1 released' 3628164 #-a指定標籤名,-m指定說明文字

git tag -s -m 'blabla' #可以用pgp簽名標籤

git tag #檢視所有標籤

git show v1.0 #檢視標籤資訊

git tag -d v0.1 #刪除標籤

git push origin #推送某個標籤到遠端

git push origin --tags #推送所有尚未推送的本地標籤

刪除遠端標籤 git tag -d v0.2 #先刪除本地標籤

git push origin :refs/tags/v0.2 #刪除遠端標籤

自定義git

git config --global color.ui true

編寫.gitignore檔案來忽略某些檔案,此檔案本身要放到版本庫內,並可對其做版本管理

git add -f hello.pyc #-f引數強制新增到git

git check-ignore -v hello.pyc #檢查.gitignore檔案的規則

簡寫命令

git config --global alias.co checkout #簡寫checkout命令

git config --global alias.st status

git config --global alias.ci commit

git config --global alias.br branch

git config --global alias.unstage 'reset head' #撤銷暫存區的修改

git config --global alias.last 'log -1' #檢視最近一次的提交

git config --global alias.lg "log --color --graph --pretty=format:'%cred%h%creset -%c(yellow)%d%creset %s %cgreen(%cr) %c(bold blue)<%an>%creset' --abbrev-commit"

配置檔案

--global引數時針對當前使用者起作用,如果不加,僅針對當前倉庫起作用

每個倉庫的git配置檔案在 .git/config 檔案中

當前使用者的git配置檔案在使用者主目錄下的 .gitconfig 檔案中

搭建git伺服器

1、安裝git sudo apt install git

2、建立git使用者 sudo adduser git

3、建立證書登入,將所有需要登入的使用者的公鑰匯入到/home/git/.ssh/authorized_keys檔案,每行乙個

4、初始化git倉庫

在倉庫目錄下輸入命令 sudo git init --bare sample.git 建立裸倉庫(沒有工作區)

把owner改為git sudo chown -r git:git sample.git

5、禁用shell登入,修改/etc/passwd檔案

git:x:1001:1001:,,,:/home/git:/bin/bash

改為:git:x:1001:1001:,,,:/home/git:/usr/bin/git-shell

6、轉殖遠端倉庫

git clone git@server:/srv/sample.git

常用命令 Git 常用命令大全

安裝教程可參照 廖雪峰老師的安裝教程。git config 在git中,使用git config 命令來配置 git 的配置檔案,git配置級別主要有3類 1 倉庫級別 local 本地 git 倉庫級別配置檔案,作用於當前倉庫。優先順序最高 2 使用者級別 global,全域性配置檔案,作用於所有...

git 常用命令

檢視是否存在檔案需要上傳 git status git add git commit m 建立遠端倉庫 git remote add origin 116.255.146.153 ruby cd work daily project.git 更新git fetch 116.255.146.153 r...

git常用命令

詳細 1,git log p 命令來顯示每一次提交與其父節點提交內容之間快照的差異。2,為了檢視載入 staged 而並未提交 not committed 的內容差異,可以使用 git diff stage 命令 在git 1.6之前的版本中,使用 cached 適應情形 在執行git commit...