當(dāng)前位置:首頁(yè) > 學(xué)習(xí)資源 > 講師博文 > 嵌入式必學(xué)(git代碼托管常用命令大全)
Git簡(jiǎn)介
Git是目前世界上最先進(jìn)的分布式版本控制系統(tǒng)(沒(méi)有之一)。
Git是 Linus Torvalds 為了幫助管理 Linux 內(nèi)核開(kāi)發(fā)而開(kāi)發(fā)的一個(gè)開(kāi)放源碼的版本控制軟件
對(duì)于任何一個(gè)文件,在 Git 內(nèi)部只有四種狀態(tài):未跟蹤untracked,已提交 (committed), 已修改(modified)和已暫存(staged)。
(1)已修改(modified) :表示修改了某個(gè)文件,但還沒(méi)有提交給暫存區(qū)。
(2)已暫存(staged) :表示把已修 改的文件放在下次提交時(shí)要保存的清單中。
(3)已提交(committed) :表示該文件已經(jīng)被安全地保存在倉(cāng)庫(kù)中了。
(4)未跟蹤(untracked):對(duì)于沒(méi)有加入Git控制的文件。
Git 工作區(qū)、暫存區(qū)和版本庫(kù)
工作區(qū):就是你在電腦里能看到的目錄。
暫存區(qū):英文叫 stage 或 index。一般存放在 .git 目錄下的 index 文件(.git/index)中,所以我們把暫存區(qū)有時(shí)也叫作索引(index)。
版本庫(kù):工作區(qū)有一個(gè)隱藏目錄 .git,這個(gè)不算工作區(qū),而是 Git 的版本庫(kù)。
一、安裝Git
在linux下在線下載安裝git
命令:sudo apt-get install git
Git 常用的是以下 6 個(gè)命令:git clone、git push、git add 、git commit、git checkout、git pull
workspace:工作區(qū)
staging area:暫存區(qū)/緩存區(qū)
local repository:版本庫(kù)或本地倉(cāng)庫(kù)
remote repository:遠(yuǎn)程倉(cāng)庫(kù)
二、創(chuàng)建版本庫(kù)
第一步:添加git用戶:
sudo adduser git
sudo passwd git
第二步:修改密碼文件:
sudo vim /etc/passwd
git:x:1005:1005::/home/git:/usr/bin/git-shell
第三步:安裝sshd服務(wù):
sudo apt-get install openssh-server
第四步:創(chuàng)建git倉(cāng)庫(kù):
創(chuàng)建一個(gè)新文件夾,進(jìn)入(打開(kāi)),然后執(zhí)行 git init 以創(chuàng)建新的 git 倉(cāng)庫(kù)
git init
第五步:克隆倉(cāng)庫(kù)
我們使用 git clone 從現(xiàn)有 Git 倉(cāng)庫(kù)中拷貝項(xiàng)目(類似 svn checkout)。
克隆倉(cāng)庫(kù)的命令格式為:
git clone <repo>
如果我們需要克隆到指定的目錄,可以使用以下命令格式:
git clone <repo> <directory>
參數(shù)說(shuō)明:
repo:Git 倉(cāng)庫(kù)。
directory:本地目錄。
三、建立分支
避免直接在 main 或 master 分支上進(jìn)行開(kāi)發(fā),通常會(huì)創(chuàng)建一個(gè)新的分支:
1.查看分支:
git branch 顯示本地分支
git branch -r 顯示遠(yuǎn)程分支
git branch -a 顯示所有本地和遠(yuǎn)程分支
git branch -v 顯示當(dāng)前分支的信息和最近提交信息
2. 創(chuàng)建新分支:
git checkout -b <new-branchname> 創(chuàng)建一個(gè)新分支并切換到該分支
git branch <branchname> 創(chuàng)建一個(gè)新分支但不自動(dòng)切換
3.切換分支:
git checkout <branchname> 切換到一個(gè)已經(jīng)存在的本地分支
4.刪除分支:
git branch -d <branchname> 刪除已合并的本地分支
git branch -D <branchname> 強(qiáng)制刪除本地分支,不論是否合并
5.重命名分支:
git branch -m <oldname> <newname> 重命名本地分支
6.比較分支:
git diff <branch1> <branch2>
7.合并分支:
git merge <branchname> 將branchname分支的更改合并到當(dāng)前分支
四、文件添加和刪除
在工作目錄中進(jìn)行代碼編輯、添加新文件或刪除不需要的文件。
將修改過(guò)的文件添加到暫存區(qū),以便進(jìn)行下一步的提交操作:
git add xxx.c
git add xxx.h
git add . 或者添加所有修改的文件
1.查看狀態(tài):
git status
2.文件提交
git commit 將暫存區(qū)內(nèi)容添加到倉(cāng)庫(kù)中。
git commit –m “you comments” 將暫存區(qū)的更改提交到本地倉(cāng)庫(kù),并添加提交信息
3.查看提交記錄:
git log
4.查看差別:
git diff
5.撤銷(xiāo)修改:
git checkout
6.刪除文件:
git rm <filenname>
7.拉取最新更改(pull文件):
git pull --rebase
8.推送更改(push文件):
git push origin <branchname> 將本地的提交推送到遠(yuǎn)程倉(cāng)庫(kù)
五、版本回退
用于重置暫存區(qū)的文件與上一次的提交(commit)保持一致,工作區(qū)文件內(nèi)容保持不變:
git reset 指定版本
撤銷(xiāo)工作區(qū)中所有未提交的修改內(nèi)容,將暫存區(qū)與工作區(qū)都回到上一次版本,并刪除之前的所有信息提交:
git reset –hard 指定版本