Git 版本控制工具 (最全命令行總結(jié))

一 :Git 簡介

1檬输、Git 是什么

Git 是分布式版本控制系統(tǒng)隙姿,用于開發(fā)時(shí)版本控制

2户敬、Git 與 SVN 的區(qū)別

SVN 是集中式版本控制荣茫,有一個(gè)中央服務(wù)器的概念想帅,代碼放置于中央服務(wù)器。程序員開發(fā)時(shí)需要將代碼拉取到個(gè)人電腦啡莉,開發(fā)結(jié)束推送到中央服務(wù)器港准。
缺點(diǎn)是,必須聯(lián)網(wǎng)操作咧欣,對開發(fā)環(huán)境帶寬要求高浅缸。
Git 是分布式版本控制系統(tǒng),程序員的電腦是一個(gè)完整的版本庫魄咕。多人開發(fā)時(shí)可以互相推送自己的改動(dòng)衩椒,完成整個(gè)系統(tǒng)的研發(fā)毛萌。
優(yōu)點(diǎn)是,無需聯(lián)網(wǎng)阁将、代碼安全性高膏秫、分支管理功能完善

二 : Git 的安裝

1、windom 安裝Git

安裝簡單,請查詢相關(guān)資料

查看git 系統(tǒng)配置

# 查看所有配置
git config -l
# 查看系統(tǒng)配置
git config --system --list
#查看當(dāng)前用戶(global)配置
git config --global  --list

Git配置信息.png

手動(dòng)配置如下

$ git config --global user.name "wangch"
$ git config --global user.email "995016129@qq.com"

配置信息就是對應(yīng)你電腦的配置文件
1)满哪、Git\etc\gitconfig :Git 安裝目錄下的 gitconfig --system 系統(tǒng)級
2)、C:\Users\Administrator\ .gitconfig 只適用于當(dāng)前登錄用戶的配置 --global 全局

2活鹰、Linux 安裝Git

# 安裝
yum -y install git
# 查看Git 版本
git --version

三 :Git 基本理論

Git本地有三個(gè)工作區(qū)域:工作目錄(Working Directory)蛔钙、暫存區(qū)(Stage/Index)桑涎、資源庫(Repository或Git Directory)。如果在加上遠(yuǎn)程的git倉庫(Remote Directory)就可以分為四個(gè)工作區(qū)域。文件在這四個(gè)區(qū)域之間的轉(zhuǎn)換關(guān)系如下:


來源于狂神說.png

Workspace:工作區(qū),就是你平時(shí)存放項(xiàng)目代碼的地方

Index / Stage:暫存區(qū),用于臨時(shí)存放你的改動(dòng)触趴,事實(shí)上它只是一個(gè)文件仇祭,保存即將提交到文件列表信息

Repository:倉庫區(qū)(或本地倉庫)没讲,就是安全存放數(shù)據(jù)的位置试伙,這里面有你提交到所有版本的數(shù)據(jù)。其中HEAD指向最新放入倉庫的版本

Remote:遠(yuǎn)程倉庫,托管代碼的服務(wù)器既绕,可以簡單的認(rèn)為是你項(xiàng)目組中的一臺電腦用于遠(yuǎn)程數(shù)據(jù)交換

工作流程
拉取代碼 → 本地修改 → 添加到本地緩存區(qū) → 拉取遠(yuǎn)程代碼 → 推送本地代碼到遠(yuǎn)程分支

四 :Git 的簡單使用

1疲扎、搭建Git 項(xiàng)目

# 自主生產(chǎn)
git init
# 克隆Git xiangmu 
git clone 【url】

2、Git 操作

基本操作

# 查看git 狀態(tài)
git status
# 添加文件加入到暫存區(qū)
git add Hello.class
# 暫存區(qū)文件提交到當(dāng)前本地分支
git commit -m "描述提交內(nèi)容"
# 拉取遠(yuǎn)程倉庫代碼
git pull
# 提交本地倉庫到遠(yuǎn)程倉庫
git push origin master
# 查看git 操作歷史 - 獲取 commit_id
git log / git reflog / git log --graph
# 回退到之前版本
git reset --hard commit_id
# 撤銷修改 (文件回到最近一次git commit或git add時(shí)的狀態(tài))
git checkout -- Hello.class
# 刪除文件
git rm Hello.class
# 本地代碼關(guān)聯(lián)遠(yuǎn)程倉庫 (也適用于當(dāng)前代碼遠(yuǎn)程倉庫修改后更新最新版url)
git remote add origin git@server-name:path/repo-name.git
# 第一次推送master分支的所有內(nèi)容
git push -u origin master

分支管理

# 查看所有分支
git branch ( * 號后面的分支為當(dāng)前分支)
git branch -r  (遠(yuǎn)程分支)
# 新建分支
git branch dev
# 切換分支
git checkout dev  (git checkout -b dev 組合起來)
git switch dev  (git switch -c dev 組合起來)
# 合并分支 (將dev 合并到master)
git checkout master 
git merge dev
# 刪除分支
git branch -d dev
git branch -D dev (強(qiáng)行刪除)
# 沖突分類
<<<<<<< HEAD
這部分代碼是當(dāng)前分支代碼
=======
這部分代碼是合并或拉去的有沖突代碼
>>>>>>> dev
# 將當(dāng)前工作區(qū)代碼存儲  - 可以解決當(dāng)前工作區(qū)有新增代碼無法切換分支的窘狀
 git stash (恢復(fù)到當(dāng)前分支最新代碼)
# 查看當(dāng)前存儲代碼
git stash list
# 恢復(fù)當(dāng)前存儲
git stash apply (恢復(fù)后內(nèi)容不刪除)
# 刪除當(dāng)前存儲
git stash drop
# 恢復(fù)并刪除
git stash pop
# 將其他分支的某一次提交合并到當(dāng)前分支
git cherry-pick commitid
# 查看遠(yuǎn)程庫信息
git remote -v
# 本地分支推送到遠(yuǎn)程分支
git push origin master
# 本地創(chuàng)建和遠(yuǎn)程分支對應(yīng)的分支
git checkout -b branch-name origin/branch-name
# 建立本地分支和遠(yuǎn)程分支的關(guān)聯(lián)
git branch --set-upstream branch-name origin/branch-name
# 變基
git rebase
# 創(chuàng)建標(biāo)簽
 git tag v1.0
# 查看標(biāo)簽
git tag
# 對之前的某一次提交打標(biāo)簽
git log --pretty=oneline --abbrev-commit
git tag v0.9 f52c633 
git tag -a <tagname> -m "blablabla..."
# 查看標(biāo)簽信息
git show v0.9
# 推送本地標(biāo)簽到遠(yuǎn)程
git push origin <tagname>
# 推送全部未推送過的本地標(biāo)簽
git push origin --tags
# 刪除一個(gè)本地標(biāo)簽
git tag -d <tagname> 
# 刪除一個(gè)遠(yuǎn)程標(biāo)簽
git push origin :refs/tags/<tagname>
# 本地代碼庫與遠(yuǎn)程代碼庫關(guān)聯(lián) (多用于遠(yuǎn)程倉庫url 修改)
git remote add origin git@gitee.com:wangch/learngit.git
# git 顯示顏色
 git config --global color.ui true
# 別名
git config --global alias.st status

五 :Git 名詞解釋

LICENSE : git 許可證
Untracked : 未跟蹤

六 :參考博客

https://www.liaoxuefeng.com/wiki/896043488029600
https://blog.csdn.net/qq_33369905/article/details/106647320

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市帽哑,隨后出現(xiàn)的幾起案子祝拯,更是在濱河造成了極大的恐慌甚带,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,509評論 6 504
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)蓖宦,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,806評論 3 394
  • 文/潘曉璐 我一進(jìn)店門齐婴,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事诱担≌敝ぃ” “怎么了?”我有些...
    開封第一講書人閱讀 163,875評論 0 354
  • 文/不壞的土叔 我叫張陵该肴,是天一觀的道長情竹。 經(jīng)常有香客問我,道長匀哄,這世上最難降的妖魔是什么秦效? 我笑而不...
    開封第一講書人閱讀 58,441評論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮涎嚼,結(jié)果婚禮上阱州,老公的妹妹穿的比我還像新娘。我一直安慰自己法梯,他們只是感情好苔货,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,488評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著立哑,像睡著了一般夜惭。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上铛绰,一...
    開封第一講書人閱讀 51,365評論 1 302
  • 那天诈茧,我揣著相機(jī)與錄音,去河邊找鬼捂掰。 笑死敢会,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的这嚣。 我是一名探鬼主播鸥昏,決...
    沈念sama閱讀 40,190評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼姐帚!你這毒婦竟也來了吏垮?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,062評論 0 276
  • 序言:老撾萬榮一對情侶失蹤卧土,失蹤者是張志新(化名)和其女友劉穎惫皱,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體尤莺,經(jīng)...
    沈念sama閱讀 45,500評論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡旅敷,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,706評論 3 335
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了颤霎。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片媳谁。...
    茶點(diǎn)故事閱讀 39,834評論 1 347
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡涂滴,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出晴音,到底是詐尸還是另有隱情柔纵,我是刑警寧澤,帶...
    沈念sama閱讀 35,559評論 5 345
  • 正文 年R本政府宣布锤躁,位于F島的核電站搁料,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏系羞。R本人自食惡果不足惜郭计,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,167評論 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望椒振。 院中可真熱鬧昭伸,春花似錦、人聲如沸澎迎。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,779評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽夹供。三九已至灵份,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間哮洽,已是汗流浹背各吨。 一陣腳步聲響...
    開封第一講書人閱讀 32,912評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留袁铐,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 47,958評論 2 370
  • 正文 我出身青樓横浑,卻偏偏與公主長得像剔桨,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個(gè)殘疾皇子徙融,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,779評論 2 354

推薦閱讀更多精彩內(nèi)容

  • 1. Git概述 1.1 Git歷史 Git 誕生于一個(gè)極富紛爭大舉創(chuàng)新的年代洒缀。Linux 內(nèi)核開源項(xiàng)目有著為數(shù)眾...
    還是那個(gè)沒頭腦閱讀 201評論 0 0
  • 引言:基于圖形界面 Git 的使用已經(jīng)熟練掌握了。偶爾遇到要使用命令行的情況欺冀。在此進(jìn)行簡單記錄树绩。時(shí)間:2016年1...
    JustDo23閱讀 1,009評論 0 1
  • Git是一款免費(fèi)、開源的分布式版本控制系統(tǒng)隐轩,用于敏捷高效地處理任何或小或大的項(xiàng)目饺饭。 Git是一個(gè)開源的分布式版本控...
    雁歸來兮閱讀 295評論 0 0
  • 久違的晴天,家長會(huì)职车。 家長大會(huì)開好到教室時(shí)瘫俊,離放學(xué)已經(jīng)沒多少時(shí)間了鹊杖。班主任說已經(jīng)安排了三個(gè)家長分享經(jīng)驗(yàn)。 放學(xué)鈴聲...
    飄雪兒5閱讀 7,523評論 16 22
  • 今天感恩節(jié)哎扛芽,感謝一直在我身邊的親朋好友骂蓖。感恩相遇!感恩不離不棄川尖。 中午開了第一次的黨會(huì)登下,身份的轉(zhuǎn)變要...
    迷月閃星情閱讀 10,564評論 0 11