哈工大软件构造 Git使用
一、什么是Git
????????Git 是一個開源的分布式版本控制系統(tǒng),用于敏捷高效地處理任何或小或大的項目。Git 是 Linus Torvalds 為了幫助管理 Linux 內(nèi)核開發(fā)而開發(fā)的一個開放源碼的版本控制軟件。與常用的版本控制工具 CVS, Subversion 等不同,Git采用了分布式版本庫的方式,不必服務器端軟件支持。
二、Git的發(fā)展歷史
????????Git起源于Linux社區(qū)。Linux最初是由BitMover公司開發(fā)的商業(yè)收費的BitKeeper分布式版本控制系統(tǒng)所管理源代碼。BitMover公司免費授權(quán)Linux社區(qū)使用BitKeeper,從2002年起,Linux開始使用BitKeeper分布式版本控制系統(tǒng)管理源代碼,但有一天Linux社區(qū)成員Andrew試圖破解BitKeeper共享給所有人使用,于是BitMover公司收回了Bitkeeper的版權(quán)。于是Linus就根據(jù)使用Bitkeeper的經(jīng)驗用兩周的時間寫出了Git,也就是目前為止最好用的分布式版本控制系統(tǒng)。Github就只使用Git系統(tǒng)來管理網(wǎng)站。
三、分布式和集中式
? ? ? ? GIt是分布式版本管理系統(tǒng),與之對應的是集中式管理系統(tǒng),典型的比如svn、cvs等。它們的區(qū)別在于集中式系統(tǒng)在寫代碼時需要從服務器中拉取,這樣做的劣勢是當服務器丟失或損壞,項目也隨之丟失。并且你的所有對項目的操作都需要連接服務器。
????????分布式與之相比的最大優(yōu)勢就在于,當你從主倉庫拉取一份代碼下來后,會在你的電腦里創(chuàng)建一個本地倉庫,你可以自由在本地回滾,提交,當你想把自己的代碼提交到主倉庫時,只需要將本地倉庫合并推送到主倉庫即可。
? ? ? ? 集中式存在一個主版本號,所有的版本迭代都以這個版本號為主,而分布式因為每個客戶端都是服務器,沒有固定的版本號,但是有一個由哈希算法算出的id,同時也有一個master倉庫,這個倉庫是一切分支倉庫的主倉庫,我們可以推送提交到master并合并到主倉庫上,主倉庫的版本號會迭代一次,我們客戶端上的git版本號無論迭代多少次,都跟master無關(guān),只有合并時,master才會迭代一次。
四、配置Git
Linux安裝Git
????????Linux下直接在終端輸入一下命令即可安裝Git
sudo apt install gitwindows安裝Git
????????在 Windows 上安裝 Git可以直接使用安裝程序。最新的官方的build版本可在 Git 網(wǎng)站上下載。只需轉(zhuǎn)到Git - Downloading Package,下載將自動開始。
配置git環(huán)境:git config --global
?
config:參數(shù)是用來配置git環(huán)境的
--global:長命令表示配置整個git環(huán)境
????????初次使用git需要設置你的用戶名以及郵箱,這將作為當前機器git的標識,如果你用它來下載遠程倉庫一些需要登錄權(quán)限的倉庫會要求登錄,git默認使用配置郵箱以及用戶名登入,但會要求你手動輸入密碼
用戶名配置
user代表用戶,.name代表配置用戶的名稱
git config --global user.name "你的用戶名"
郵箱配置
user代表用戶,.email代表配置用戶的郵箱
git config --global user.email "你的郵箱"
不配置也行,當遇到要求登錄權(quán)限的遠程倉庫會讓你在手動輸入用戶名、郵箱、以及密碼
五、Git相關(guān)操作
創(chuàng)建本地空倉庫:git init
init:初始化當前目錄為倉庫,初始化后會自動將當前倉庫設置為master
????????創(chuàng)建本地倉庫的條件是需要一個空目錄,然后在空目錄中初始化你的項目。初始化后會生成git的配置文件目錄,普通的"ls"命令是看不到的,我們需要使用ls -ah查看隱藏目錄進入目錄后可以看到它的相關(guān)配置文件。
git init克隆現(xiàn)有存儲庫:git?clone
????????如果你想獲取現(xiàn)有 Git 存儲庫的副本——例如,你想貢獻的項目——你需要的命令是git clone.?使用clone克隆存儲庫git clone <url>可以直接在本地創(chuàng)建相同的倉庫。
git clone <url>新建文件添加到本地倉庫:git add、git?commit?-m
add:將文件添加到緩存區(qū)
commit:提交到本地倉庫
????????使用git add命令可以將文件添加到本地倉庫的提交緩存,但這個時候還不算添加到了本地倉庫,我們還需要使用git commit命令為其添加修改的描述信息。注意在使用git commit時我們只需要簡單描述一下我們做了什么,不要像寫注釋那樣寫一大堆。我們需要使用-m命令來簡寫描述我們的信息。
git commit -m "first commit"同步到遠程倉庫:git?push
使用git?push命令可以將本地倉庫提交到遠程倉庫。
git push改寫提交:git commit --amend
--amend:重寫上一次的提交信息
?如果我們提交了倉庫,卻發(fā)現(xiàn)注釋寫錯了,我們可以使用 --amend長命令選項來改寫提交。
git commit --amend查看歷史提交日志:git log
log:查看日志
我們可以使用git log查看一下提交日志
git log回滾代碼倉庫:git reset --hard
reset參數(shù)是重置命令
--hard是重置代碼倉庫版本
有三種模式
--soft 、--mixed以及--hard是三個恢復等級。
使用--soft就僅僅將頭指針恢復,已經(jīng)add的暫存區(qū)以及工作空間的所有東西都不變。
如果使用--mixed,就將頭恢復掉,已經(jīng)add的暫存區(qū)也會丟失掉,工作空間的代碼什么的是不變的。
如果使用--hard,那么一切就全都恢復了,頭變,aad的暫存區(qū)消失,代碼什么的也恢復到以前狀態(tài)。
查看提交之后文件是否做了改動:git status
status:查看當前倉庫狀態(tài)
我們在提交完成之后,有時候可能自己不小心改動了某個文件,或者別人,我們可以使用git status查看文件是否被改動。
git status刪除文件:git rm
如果我們使用普通的命令,rm刪除文件,git狀態(tài)會提示你刪除了文件,你只需要使用add重新提交一次就可以了。當然你也可以使用git rm刪除文件,但是也需要使用git commit提交一次
git rmgit創(chuàng)建分支:git branch、git checkout
使用git checkout -b參數(shù)來創(chuàng)建一個分支,創(chuàng)建完成分支后會自動切換過去
然后我們在使用branch來查看當前屬于哪個分支,也就是查看HEAD的指向
git合并分支:git merge
當我們新建分支并做完工作之后,想要把分支提交至master,只需要切換到master倉庫,并執(zhí)行g(shù)it merge 分支名就可以了
git mergegit查看分支:git branch -a
如果要查看當前所有分支可以使用:git branch -a
git刪除本地分支:git branch -D
?
git branch -D 分支名
git刪除遠程分支:git push origin --delete
注意這里的遠程分支名不需要加origin,輸入分支名就可以了
?
總結(jié)
以上是生活随笔為你收集整理的哈工大软件构造 Git使用的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: html 弹窗实现拖拽,原生js实现自由
- 下一篇: 艾默生流量计应采取耐磨的轻质材料制作减少