溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶(hù)服務(wù)條款》

git的常用命令有哪些

發(fā)布時(shí)間:2020-04-09 17:50:52 來(lái)源:網(wǎng)絡(luò) 閱讀:207 作者:xiaohuai393 欄目:開(kāi)發(fā)技術(shù)

[TOC]

Git

配置

配置文件

以下配置中若出現(xiàn)相同配置項(xiàng),根據(jù)順序從下到上依次覆蓋

級(jí)別命令配置文件
全局system/etc/gitconfig
用戶(hù)global~/.gitconfig
項(xiàng)目local/etc/gitconfig

基本命令

  • 查看全局所有配置:git config --list --global
  • 查看某一項(xiàng)配置:git config user.name
  • 設(shè)置用戶(hù)名:git config --global user.name 'yangqingjun'
  • 設(shè)置郵箱名:git config --global user.email 'yangqingjun001@hotmail.com'
  • 重置某項(xiàng)配置:git config --unset --global user.name
  • 添加別名:git config --global alias.co checkout

獲取幫助

  • 獲取某個(gè)命令幫助
    git help add
    git add --help
    man git-add
  • 獲取所有命令名稱(chēng):git help -a
  • 獲取所有手冊(cè)名稱(chēng):git help -g

基本操作

獲取 Git 倉(cāng)庫(kù)

空目錄中初始化項(xiàng)目
  • 初始化新倉(cāng)庫(kù)命令:git init
  • 添加跟蹤文件:git add LICENSE
  • 添加某類(lèi)文件:git add *.c
  • 添加所有文件:git add .
克隆現(xiàn)有倉(cāng)庫(kù)

克隆倉(cāng)庫(kù)會(huì)將遠(yuǎn)程目標(biāo)中所有分支、文件全部克隆下來(lái)

  • 克隆遠(yuǎn)程倉(cāng)庫(kù):git clone https://github.com/libgit2/libgit2
  • 克隆遠(yuǎn)程倉(cāng)庫(kù)并重命名:git clone https://github.com/libgit2/libgit2 test

文件生命周期

  • 查看當(dāng)前文件狀態(tài):git status
  • 追蹤新文件:git add newfile
  • 狀態(tài)簡(jiǎn)表:git status -s
符號(hào)說(shuō)明文件所在區(qū)
??未追蹤工作區(qū)
A_新追蹤 未提交暫存區(qū)
AM新追蹤 未提交 又修改暫存區(qū)、工作區(qū)
_M提交過(guò) 剛修改工作區(qū)
M_提交過(guò) 已暫存暫存區(qū)
MM提交過(guò) 暫存過(guò) 又修改暫存區(qū)、工作區(qū)

查看修改區(qū)別

  • 查看工作區(qū)和暫存區(qū)區(qū)別:git diff
  • 查看暫存區(qū)和提交區(qū)區(qū)別:git diff --staged

提交更改

  • 提交暫存區(qū)的內(nèi)容:`git commit -m 'init'
  • 跳過(guò)暫存區(qū)直接提交:`git commit -am 'init'

移除文件

不追蹤文件,刪除文件
  • 刪除之前未修改過(guò):git rm test.txt
  • 刪除之前已修改且提交到暫存區(qū):git rm -f test.txt
不追蹤文件,保留文件
  • 將已追蹤的文件放棄追蹤:git rm --cached test.txt
  • 在忽略文件中寫(xiě)入,用來(lái)放棄追蹤

移動(dòng)文件

git mv file1.txt file2.txt

不追蹤的文件

配置文件

在根目錄下的 .gitignore 文件中描述

全局配置
  • 全局配置命令:git config --global core.excludesfile ~/.gitignore
  • 全局忽略文件參考:https://github.com/yangqingjun/gitignore/blob/master/.gitignore
特定項(xiàng)目
  • 項(xiàng)目特定語(yǔ)言參考:https://github.com/yangqingjun/gitignore
匹配規(guī)則
  • 所有空行或者以 # 開(kāi)頭的行會(huì)被Git忽略
  • 以 / 開(kāi)頭防止遞歸。eg:/TODO 只忽略 TODO 文件,而不是文件夾
  • 以 / 結(jié)尾指定目錄。eg:build/ 忽略 build/ 下所有文件
  • doc/*.txt 只忽略此目錄下的
  • doc/*/.pdf 忽略doc目錄下所有的
符號(hào)說(shuō)明例子
*零或多個(gè)任意字符*.py doc/*.txt
**任意中間零個(gè)或多個(gè)目錄a/**/z
?有且僅一個(gè)任意字符hello?.txt
[abc]方框內(nèi)任意一個(gè)
[0-9]方框范圍內(nèi)任意一個(gè)
!追蹤指定文件、忽略以上規(guī)則!index.py

分支操作

遠(yuǎn)程操作

GitHub

GitLab

圖解

文件生命周期

git的常用命令有哪些

常用命令

  • add: 添加內(nèi)容到暫存區(qū);添加內(nèi)容到下次提交中

參考

  • 安裝Git參考:https://git-scm.com/book/zh/v2/起步-安裝-Git
  • Linux各版本安裝命令:https://git-scm.com/download/linux
  • 各編程語(yǔ)言忽略的文件參考:https://github.com/yangqingjun/gitignore

其他配置

全局顏色 git config --global color.ui true

查個(gè)mac快捷鍵 命令行輸入 打開(kāi)finder
open .

查看區(qū)別-工作目錄與暫存區(qū)

git diff index.html

查看區(qū)別 工作目錄與提交完成的

git diff --staged

刪除不追蹤的文件

git rm style.css

修改文件名

git mv file1 file2

刪除文件

git rm file1

恢復(fù)刪除文件,最近一次提交

目前還在工作區(qū),未提交狀態(tài)
git checkout HEAD -- index.html
已經(jīng)提交
git checkout HEAD^ -- index.html

查看日志,一行
git log --oneline

恢復(fù)提交
git revert fsdgj

控制指針位置
git reset fsdgj
--soft 軟重置,不影響工作區(qū)和暫存區(qū)
--hart 工作區(qū)和暫存區(qū)都重置
--mixed 默認(rèn)的 只重置暫存區(qū)

git stash save '放到工作進(jìn)度里'
顯示工作進(jìn)度列表
git stash list
查看區(qū)別
git stash show -p stash@{0}
恢復(fù)進(jìn)度
git stash apply stash@{0}
刪除進(jìn)度
git stash drop stash@{0}
git stash pop stash@{0}

日志
查看最近5條
git log --oneline -5
查看某個(gè)作者提交的
git log --oneline --author="yangqingjun"
所有包含 index 的提交
git log --oneline --grep='index'
某個(gè)日期之前的提交
git log --oneline --before='2019-01-01'
三天前的
--before='3 days'
圖形界面查看
git log --oneline --graph

分支
查看當(dāng)前分支
git status
查看所有分支
git branch
創(chuàng)建分支
git branch mobile-feature
切換分支
git checkout mobile-feature

顯示分支的提交
git log --oneline --decorate

顯示所有分支提交詳情
git log --oneline --decorate --all

對(duì)比兩個(gè)分支區(qū)別
git diff master..mobile-feature  后面可以加上文件名

合并分支
在master分支上
git merge mobile-feature

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI