在linux中,安裝git的指令是「yum install git」;yum是「Yellow dog Updater Modified」的簡稱,yum用於自動化地升級、安裝、移除rpm包,收集rpm包的相關訊息,檢查依賴性並自動提示使用者解決,因此可以利用yum來安裝git。
本教學操作環境:linux7.3系統、Dell G3電腦。
linux安裝git的指令是什麼
Git官網
https://git-scm.com/
安裝Git
[root@git ~]# yum install git #git的安装,直接使用yum安装
查看版本
[root@git ~]# git --version #查看git的版本git version 1.8.3.1
擴充知識:
#git個人識別設定
git是分散式版本控制系統,所以每個開發者都應該在自己的筆記本上安裝Git,然後在git上設定自己的個人識別資訊。
[root@git ~]# git config --global user.name "lisi" #设置用户姓名[root@git ~]# git config --global user.emain "456789123@qq.com" #设置邮箱[root@git ~]# git config --global color.ui true #enable ui颜色[root@git ~]# git config --list #查看配置user.name=lisi user.emain=456789123@qq.com color.ui=true[root@git ~]#
Git 的三大核心架構
工作區域(Working Directory):就是開發者平時存放專案程式碼的目錄;
暫存區域(Stage ):用於暫時存放開發者程式碼的改動,事實上它只是一個文件,保存即將提交的文件清單資訊;
Git 倉庫(Repository):就是安全存放資料的位置,git倉庫有開發者提交的所有版本的資料代碼,其中,HEAD 指向最新放入倉庫的版本。
Git 的工作流程一般是:
1、在工作目錄中新增、修改程式碼檔案;
2、將需要進行版本管理的程式碼檔案放入暫存區域;
3、將暫存區域的文件提交到Git 倉庫。
因此,Git 管理的檔案有三種狀態:已修改(modified)、已暫存(staged)和已提交(committed),依序對應上邊的每一個流程。
git指令實踐
1、建立並初始化一個專案目錄,在該目錄下進行存放編輯程式碼;
[root@git ~]# mkdir Dosier_Project #创建一个项目代码目录 [root@git ~]# cd Dosier_Project/ #进入目录 [root@git Dosier_Project]# git init #初始化目录,让目录受到git版本控制 Initialized empty Git repository in /root/Dosier_Project/.git/ #初始化了一个空的git仓库 [root@git Dosier_Project]# ll -al #查看该目录 total 0 drwxr-xr-x 3 root root 18 Jan 31 16:15 . dr-xr-x---. 5 root root 215 Jan 31 16:14 .. drwxr-xr-x 7 root root 119 Jan 31 16:15 .git #发现git init初始化命令就是生成了.git目录,这个.git目录就是git仓库,以后在Dosier_Project目录下做的所有操作就可以受到git版本控制了 [root@git Dosier_Project]#
2、模擬開發工程師開發程式碼檔案
[root@git Dosier_Project]# cd /root/Dosier_Project/ #进去到项目目录 [root@git Dosier_Project]# vim dossier.sh #创建一个代码文件 [root@git Dosier_Project]#
3、git add把程式碼檔案提交到暫存區
[root@git Dosier_Project]# git status #查看状态 # On branch master # # Initial commit # # Untracked files: # (use "git add <file>..." to include in what will be committed) # # dossier.sh nothing added to commit but untracked files present (use "git add" to track) #解释:Untracked files 说明存在未跟踪的文件(下边红色的那个) #所谓的“未跟踪”文件,是指那些新添加的并且未被加入到暂存区域或提交的文件。它们处于一个逍遥法外的状态,当你一旦将它们加入暂存区域或提交到 Git 仓库,它们就开始受到 Git 的“跟踪”了 [root@git Dosier_Project]# git add dossier.sh #用git add命令把文件提交暂存区 [root@git Dosier_Project]# git status #再次查看状态 # On branch master # # Initial commit # # Changes to be committed: #意思是要提交的更改,等待提交 # (use "git rm --cached <file>..." to unstage) # # new file: dossier.sh #暂存区已经有一个文件了 # [root@git Dosier_Project]#</file></file>
4、git commit 把暫存區的所有檔案提交到git倉庫
git commit 是把暫存區的所有文件提交到git倉庫,並不是指提交某個文件。
[root@git Dosier_Project]# git commit -m "lisi add dossier.sh file" #提交暂存区内的文件到git仓库,-m参数表示写的注释 [master (root-commit) c2b3806] lisi add dossier.sh file 1 file changed, 2 insertions(+) create mode 100644 dossier.sh [root@git Dosier_Project]# git status #再次查看状态,提示暂存区没有要commit的,工作目录文件也没有编辑过 # On branch master nothing to commit, working directory clean [root@git Dosier_Project]#
5、繼續模擬版本2、版本3
#模拟版本2,模拟版本2为修改dossier_1.sh文件,新加一个dossier_2.sh文件 [root@git ~]# cd ~/Dosier_Project/ [root@git Dosier_Project]# echo "I am good dossier_1" >> dossier_1.sh #修改了dossier_1.sh文件 [root@git Dosier_Project]# touch dossier_2.sh #新加dossier_2.sh文件 [root@git Dosier_Project]# echo "I am dossier_2" >> dossier_2.sh [root@git Dosier_Project]# git add * #星号匹配所有(等价于--all),把所有文件提交暂存区 [root@git Dosier_Project]# git commit -m "modified dossier_1.sh,add dossier_2.sh" #git commit提交暂存区文件到仓库 [master beff2ea] modified dossier_1.sh,add dossier_2.sh 2 files changed, 2 insertions(+) create mode 100644 dossier_2.sh [root@git Dosier_Project]# git status #查看状态,三大区域已经一致 # On branch master nothing to commit, working directory clean #继续模拟版本3,继续模拟版本3为新加一个dossier_3.sh文件 [root@git Dosier_Project]# touch dossier_3.sh #新加一个dossier_3.sh文件 [root@git Dosier_Project]# echo "I am dossier_3">> dossier_3.sh [root@git Dosier_Project]# git add dossier_3.sh #把dossier_3.sh提交到暂存区 [root@git Dosier_Project]# git commit -m "Add dossier_3.sh" #把暂存区内容提交到git仓库 [master 72cd563] Add dossier_3.sh 1 file changed, 1 insertion(+) create mode 100644 dossier_3.sh [root@git Dosier_Project]# git status #查看状态,三大区域已经一致 # On branch master nothing to commit, working directory clean [root@git Dosier_Project]# 以上,我们就创建了3个版本,版本1为创建dossier_1.sh文件,版本2为修改dossier_1.sh文件,新加一个dossier_2.sh文件,模拟版本3为新加一个dossier_3.sh文件 #查看状态,三大区域已经一致# On branch masternothing to commit, working directory clean[root@git Dosier_Project]# 以上,我们就创建了3个版本,版本1为创建dossier_1.sh文件,版本2为修改dossier_1.sh文件,新加一个dossier_2.sh文件,模拟版本3为新加一个dossier_3.sh文件
6、git log 指令、git reflog 指令查看git倉庫中有哪些版本
git log 和git reflog 指令都可以看看git倉庫中有哪些版本,但兩者的差別在於git log只能看得到目前的版本,而git reflog可以看得到所有的版本,也就是說當你回退版本之後,git reflog可以查看得到回退後的版本,所有一般使用git reflog即可。
[root@git Dosier_Project]# git log #git log命令查看git仓库中有哪些版本commit 72cd563e2e0241670d7ebe8c541f28a12875e1e8 Author: lisi Date: Mon Jan 31 18:05:42 2022 +0800 Add dossier_3.sh commit beff2eaf816f345ba39779494752228a06ac1499 Author: lisi Date: Mon Jan 31 18:01:03 2022 +0800 modified dossier_1.sh,add dossier_2.sh commit ae2c1b8752efd01ef265e2227dd0b4ceb81310f4 Author: lisi Date: Mon Jan 31 17:53:32 2022 +0800 Add dossier_1.sh[root@git Dosier_Project]# git reflog #git reflog命令查看git仓库中有哪些版本72cd563 HEAD@{0}: commit: Add dossier_3.sh beff2ea HEAD@{1}: commit: modified dossier_1.sh,add dossier_2.sh ae2c1b8 HEAD@{2}: commit (initial): Add dossier_1.sh[root@git Dosier_Project]#
7、git reset --hard 版本號,實作版本自由回退
[root@git Dosier_Project]# git reflog #git reflog命令查看git仓库中有哪些版本,前面的字符就是版本号72cd563 HEAD@{0}: commit: Add dossier_3.sh beff2ea HEAD@{1}: commit: modified dossier_1.sh,add dossier_2.sh ae2c1b8 HEAD@{2}: commit (initial): Add dossier_1.sh[root@git Dosier_Project]# git reset --hard beff2ea #回退到版本2,即修改dossier_1.sh文件,新加dossier_2.shHEAD is now at beff2ea modified dossier_1.sh,add dossier_2.sh[root@git Dosier_Project]# ll #查看文件,已经没有了dossier_3.sh文件total 8-rw-r--r-- 1 root root 35 Jan 31 17:56 dossier_1.sh -rw-r--r-- 1 root root 15 Jan 31 17:56 dossier_2.sh[root@git Dosier_Project]# cat dossier_1.sh #dossier_1.sh的最后一行也确实实在版本2时候添加的I am dossier_1 I am good dossier_1[root@git Dosier_Project]# git reset --hard ae2c1b8 #回退到版本1HEAD is now at ae2c1b8 Add dossier_1.sh[root@git Dosier_Project]# lltotal 4-rw-r--r-- 1 root root 15 Jan 31 18:38 dossier_1.sh #已经回退到版本1[root@git Dosier_Project]# cat dossier_1.sh #已经回退到版本1I am dossier_1 [root@git Dosier_Project]#[root@git Dosier_Project]# git reflog #git reflog命令可以看到你所有的版本已经回退版本的记录ae2c1b8 HEAD@{0}: reset: moving to ae2c1b8 beff2ea HEAD@{1}: reset: moving to beff2ea 72cd563 HEAD@{2}: commit: Add dossier_3.sh beff2ea HEAD@{3}: commit: modified dossier_1.sh,add dossier_2.sh ae2c1b8 HEAD@{4}: commit (initial): Add dossier_1.sh[root@git Dosier_Project]# git reset --hard 72cd563 #为了后面实验,现在还是回退到版本3吧HEAD is now at 72cd563 Add dossier_3.sh[root@git Dosier_Project]# ll #已经回退到版本3了total 12-rw-r--r-- 1 root root 35 Jan 31 18:44 dossier_1.sh -rw-r--r-- 1 root root 15 Jan 31 18:44 dossier_2.sh -rw-r--r-- 1 root root 15 Jan 31 18:44 dossier_3.sh[root@git Dosier_Project]#
8、git checkout – filename,撤銷檔案修改(檔案未提交到暫存區)
開發工程師修改了某個文件,文件未提交到暫存區,需要撤銷文件修改,可以透過刪除文件內容達到恢復文件最開始狀態,但如果是修改了很多,甚至連自己都不知道要刪除哪些內容了,這時可以使用git checkout指令:
[root@git Dosier_Project]# echo "testesshfkshdsjdhjshka" >> dossier_3.sh [root@git Dosier_Project]# cat dossier_3.shI am dossier_3 testesshfkshdsjdhjshka[root@git Dosier_Project]# git checkout -- dossier_3.sh #撤销文件修改,注意命令--后面是空格接文件名[root@git Dosier_Project]# cat dossier_3.sh #已经撤销成功I am dossier_3[root@git Dosier_Project]#
9、git reset HEAD file,撤銷暫存區的檔案
[root@git Dosier_Project]# echo "boss is good ">>dossier_3.sh #编辑一点内容[root@git Dosier_Project]# git add dossier_3.sh #提交暂存区,这时突然反悔了,需要从暂存区撤销该文件[root@git Dosier_Project]# git status# On branch master# Changes to be committed:# (use "git reset HEAD <file>..." to unstage) #这里已经提示了,撤销暂存区文件使用git reset HEAD## modified: dossier_3.sh#[root@git Dosier_Project]# git reset HEAD dossier_3.sh #撤销暂存区内的指定文件Unstaged changes after reset: M dossier_3.sh[root@git Dosier_Project]#</file>
10、刪除一個檔案並git rm提交到暫存區
[root@git Dosier_Project]# rm -rf dossier_1.sh #当文件不需要了直接rm -rf删除一个文件[root@git Dosier_Project]# git status #查看状态# On branch master# Changes not staged for commit:# (use "git add/rm <file>..." to update what will be committed) #这里其实已经提示你使用add或rm参数了# (use "git checkout -- <file>..." to discard changes in working directory)## deleted: dossier_1.sh#no changes added to commit (use "git add" and/or "git commit -a")[root@git Dosier_Project]# git rm dossier_1.sh #提交暂存区[root@git Dosier_Project]# git commit -m "delete dossier_1.sh" #把暂存区内容commit提交git仓库</file></file>
推薦學習:Linux影片教學
以上是linux安裝git的指令是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!

維護模式是Linux系統中通過單用戶模式或救援模式進入的特殊運行級別,用於系統維護和修復。 1.進入維護模式使用命令“sudosystemctlisolaterescue.target”。 2.在維護模式中,可以檢查並修復文件系統,使用命令“fsck/dev/sda1”。 3.高級用法包括重置root用戶密碼,需掛載文件系統為讀寫模式並編輯密碼文件。

維護模式用於系統維護和修復,允許管理員在簡化環境中工作。 1.系統修復:修復損壞的文件系統和啟動加載器。 2.密碼重置:重置root用戶密碼。 3.軟件包管理:安裝、更新或刪除軟件包。通過修改GRUB配置或使用特定鍵進入維護模式,執行維護任務後可安全退出。

Linux網絡配置可以通過以下步驟完成:1.配置網絡接口,使用ip命令臨時設置或編輯配置文件持久化設置。 2.設置靜態IP,適合需要固定IP的設備。 3.管理防火牆,使用iptables或firewalld工具來控製網絡流量。

維護模式在Linux系統管理中扮演關鍵角色,幫助進行系統修復、升級和配置變更。 1.進入維護模式可以通過GRUB菜單選擇或使用命令“sudosystemctlisolaterescue.target”。 2.在維護模式下,可以執行文件系統修復和系統更新等操作。 3.高級用法包括重置root密碼等任務。 4.常見錯誤如無法進入維護模式或掛載文件系統,可通過檢查GRUB配置和使用fsck命令修復。

使用Linux維護模式的時機和原因:1)系統啟動問題時,2)進行重大系統更新或升級時,3)執行文件系統維護時。維護模式提供安全、控制的環境,確保操作的安全性和效率,減少對用戶的影響,並增強系統的安全性。

Linux中不可或缺的命令包括:1.ls:列出目錄內容;2.cd:改變工作目錄;3.mkdir:創建新目錄;4.rm:刪除文件或目錄;5.cp:複製文件或目錄;6.mv:移動或重命名文件或目錄。這些命令通過與內核交互執行操作,幫助用戶高效管理文件和系統。

在Linux中,文件和目錄管理使用ls、cd、mkdir、rm、cp、mv命令,權限管理使用chmod、chown、chgrp命令。 1.文件和目錄管理命令如ls-l列出詳細信息,mkdir-p遞歸創建目錄。 2.權限管理命令如chmod755file設置文件權限,chownuserfile改變文件所有者,chgrpgroupfile改變文件所屬組。這些命令基於文件系統結構和用戶、組系統,通過系統調用和元數據實現操作和控制。

MaintenancemodeInuxisAspecialBootenvironmentforforcalsystemmaintenancetasks.itallowsadMinistratorStoperFormTaskSlikerSettingPassingPassingPasswords,RepairingFilesystems,andRecoveringFrombootFailuresFailuresFailuresInamInimAlenimalenimalenrenmentrent.ToEnterMainterMainterMaintErmaintErmaintEncemememodeBoode,Interlecttheboo


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

SublimeText3 Linux新版
SublimeText3 Linux最新版

SublimeText3漢化版
中文版,非常好用

VSCode Windows 64位元 下載
微軟推出的免費、功能強大的一款IDE編輯器

Safe Exam Browser
Safe Exam Browser是一個安全的瀏覽器環境,安全地進行線上考試。該軟體將任何電腦變成一個安全的工作站。它控制對任何實用工具的訪問,並防止學生使用未經授權的資源。

PhpStorm Mac 版本
最新(2018.2.1 )專業的PHP整合開發工具