Git基本使用

2021-07-10 18:37:08 字數 3815 閱讀 1516

git 有工作區、暫存區、版本庫

git init//初始化版本庫

git add file_name//將file_name從工作區新增到暫存區

git commit//將暫存區的修改提交到版本庫 -m 新增

git status//檢視倉庫狀態

git diff file_name//檢視版本庫中file_name與工作區file_name的不同

git log

//檢視提交記錄 --pretty=oneline 一行顯示一條記錄

git reset --hard head^ //head表示當前版本,^表示上一版本 ^^表示上兩個版本,依此類推

git reset --hard commit_id //回退到指定id版本

git reflog//檢視歷史命令

git checkout -- file_name //撤銷對工作區file_name檔案的修改,如果add到暫存區可以用git reset head file_name 來撤銷暫存區的修改,如果commit之後可以用git reset --hard head^來回退到上乙個版本

git rm file_name//刪除某檔案,刪除版本庫中的檔案一定要commit,沒有commit之前可以用git checkout -- file_name撤銷刪除,commit之後可以回退版本

遠端倉庫一定要加ssh key如果不加則無法push

ssh生成命令

ssh-keygen -t rsa -c "email"

git clone remote_repository_link

git remote add origin remote_repository_link //origin 遠端倉庫名稱

git push -u origin master //master 本地分支名稱

git push origin master

git checkout -b dev origin/dev //抓取遠端dev分支到本地dev分支

git pull //合併遠端分支到本地

git remote //檢視遠端分支

git remote -v

//檢視遠端分支詳情

git branch --

set-upstream dev origin/dev //關聯本地分支到遠端分支

git 預設有乙個master分支

git checkout -b branch_name //建立並切換分支

git branch branch_name //建立分支

git checkout branch_name //切換分支

git branch //檢視分支

git branch -d branch_name //刪除分支 -d 為強行刪除

git merge branch_name //合併指定分支到當前分支

git log

--graph --pretty=oneline --abbrev-commit

//--graph可以檢視分支合併圖

git merge --no-ff

-m"" branch_name // --no-ff 禁用fast-forward模式,會建立乙個新的commit

git stash //儲存工作現場

git stash list

//列出所有儲存的工作現場。如,stash@: wip on dev: 6224937 add merge

git stash pop //恢復工作現場並刪除

git stash drop //刪除工作現場

//以上三個命令在有多個stash的時候,可以加上stash id 如 git stash pop stash@

git tag

tag_name

//建立標籤

git tag

//列出所有標籤

git tag

tag_name commit_id //為指定commit新增標籤

git tag

-atag_name

-m"" commit_id //為指定commit新增帶說明的標籤

git tag

-stag_name

-m"" commit_id //用私鑰簽名乙個標籤(簽名採用pgp簽名,因此,必須首先安裝gpg(gnupg))

git tag

-dtag_name

//刪除標籤

git show tag_name

//檢視標籤詳情

git push origin tag_name

//推送標籤到遠端

git push origin --tags //推送所有標籤未推送過的到遠端

//刪除遠端標籤

git tag

-d v1.0

//先刪除本地

git push origin:refs/tags/v1.0

//刪除遠端標籤

git config --global

color.ui true //git顯示顏色

//別名

git config --global

alias.st status

git config --global

alias.co checkout

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'

//乙個牛x的配置

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"

這裡只先說下linux的

1. 安裝git

sudo apt-get install git

2. 建立git使用者,執行git服務

sudo adduser git

3. 建立證書登入

收集所有需要登入的使用者的公鑰,就是他們自己的id_rsa.pub檔案,把所有公鑰匯入到/home/git/.ssh/authorized_keys檔案裡,一行乙個。

4. 初始化git倉庫

假定git倉庫為/srv/sample.git,在/src目錄下輸入

sudo git init --bare sample.git

更改git倉庫許可權

sudo chown -r git:git sample.git

5. 禁用shell登入

出於安全考慮,第二步建立的git使用者不允許登入shell,這可以通過編輯/etc/passwd檔案完成。找到類似下面的一行

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

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

Git基本使用

設定使用者名稱與郵箱 git config global user.name my name git config global user.email my email.com 從已有的git庫中提取 每次更改 的操作 更新本地 到最新版本 需要merge才能合到本地 中 git fetch 合併更...

git基本使用

git pull 從其它的版本庫 既可以是遠端的也可以是本地的 將 更新到本地,例如 git pull origin master 就是將origin這個版本庫的 更新到本地的master主分支。git pull可以從任意乙個git庫獲取某個分支的內容。用法如下 git pull username ...

git基本使用

git pull 從其它的版本庫 既可以是遠端的也可以是本地的 將 更新到本地,例如 git pull origin master 就是將origin這個版本庫的 更新到本地的master主分支。git pull可以從任意乙個git庫獲取某個分支的內容。用法如下 git pull username ...