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...