軟件測試 之 git命令

安裝


在本機安裝git客戶端逻淌,下載地址:https://git-scm.com/downloads惜纸,根據(jù)本機的操作系統(tǒng)選擇git版本。

本地倉庫


本地倉庫又叫本地版本庫忍饰,即被git管理起來的本地目錄贪嫂,在此目錄下有名為 .git 的隱藏目錄。git 能夠跟蹤此目錄中所有文件的修改艾蓝、刪除力崇,以便追蹤歷史或還原版本。

一赢织、創(chuàng)建本地倉庫

  1. 打開目錄亮靴,單擊鼠標右鍵,點擊 Git Bash Here
  2. 在 git bash 命令行中輸入 git init于置,回車茧吊,提示 Initialized empty Git repository in C:/xx/.git/
  3. 當前目錄下生成 .git 隱藏目錄,本地倉庫創(chuàng)建成功

二八毯、工作區(qū)

在本地倉庫中搓侄,我們能夠看到的就是工作區(qū)

三、暫存區(qū)

暫存區(qū)保存的是從工作區(qū)提交的內容话速,通過 git add .git add filename 命令來完成提交讶踪。既然是暫時存放,最終會通過 git commit -m "v1.0" 命令泊交,將暫存區(qū)的內容提交為本地倉庫的一個版本乳讥。

git ls-files  顯示暫存區(qū)中的文件
git ls-files -s  顯示文件對應的Blob對象柱查,通過Blob對象可查看文件內容
git ls-files -s file
git cat-file -p Blob對象名稱  通過Blob對象查看文件內容
git rm --cached file    將文件從暫存區(qū)中移除

四、版本區(qū)

git log  查看本地當前分支commit日志
git log --stat  查看每個commit的差異
git log | grep "msg"  查看本地當前分支包含“msg”的commit日志
git log BranchName | grep "msg"  查看本地指定分支包含“msg”的commit日志
git show commitId  查看commit內容
git show BranchName commitId  查看本地指定分支commit內容
git log origin/BranchName | grep "msg"  查看遠程指定分支包含“msg”的commit日志

五云石、查看各區(qū)不同

git status  查看工作區(qū)和暫存區(qū)的狀態(tài)
git diff  查看工作區(qū)和暫存區(qū)的不同
git diff --staged  查看暫存區(qū)和版本區(qū)的不同
git diff HEAD -- file  查看工作區(qū)與版本區(qū)不同

遠程倉庫


GitHub是一個面向開源及私有軟件項目的托管平臺唉工,Gitlab是企業(yè)內部搭建的代碼倉庫。

一汹忠、本地倉庫和遠程倉庫進行關聯(lián)

執(zhí)行以下命令可將本地倉庫與遠程倉庫進行關聯(lián)

git remote add origin http://xxx/zwopen/season.git
git remote add origin ssh://git@xxx/zwopen/season.git

關聯(lián)后遇到的問題:執(zhí)行 git pull origin master 失敗酵紫,提示:fatal: refusing to merge unrelated histories
原因:雖然本地倉庫和遠程倉庫進行了關聯(lián),但仍是兩個獨立的倉庫
解決:執(zhí)行 git pull origin master --allow-unrelated-history错维,合并兩個獨立的倉庫即可

git push <遠程主機名> <本地分支名>:<遠程分支名> 
git push origin master:master  # 將本地倉庫推送到遠程倉庫

二奖地、克隆遠程倉庫

上面提到的先創(chuàng)建本地倉庫,再把本地倉庫和遠程倉庫關聯(lián)的方式赋焕,在實際開發(fā)中很少用到参歹,更多是先克隆遠程倉庫。

git clone http://xxx/QA/qa.git

三隆判、推送遠程分支

git push --set-upstream origin yourname

版本回退


git checkout .  還原工作區(qū)所有文件的修改
git checkout -- file  還原工作區(qū)指定文件的修改

注意:
文件未提交到暫存區(qū)犬庇,git checkout 撤銷修改回到和版本庫一樣的狀態(tài)
文件已提交到暫存區(qū)且又做了修改,git checkoug 撤銷修改回到添加到暫存區(qū)后的狀態(tài)

git reset HEAD^  暫存區(qū)和版本區(qū)還原到上一次commit節(jié)點侨嘀,所有差異存入工作區(qū)
git reset --hard HEAD  擦除工作區(qū)和暫存區(qū)所有修改
git reset --hard branch  將HEAD指向其他分支
git reset --soft HEAD  工作區(qū)不變臭挽,撤銷版本區(qū)所產(chǎn)生的差異存入暫存區(qū)
git reflog 查看所有分支的所有操作記錄(包括已經(jīng)被刪除的 commit 記錄和 reset 的操作)
git reset --hard commitId  通過git reflog找到reset的commitId,再用git reset恢復之前撤銷的內容
git reset --hard 標簽名

分支管理


git checkout -b dev  創(chuàng)建并切換到新分支
git merge dev  把dev合并到當前分支
git branch  查看本地分支
git branch -a  查看本地和遠程所有分支
git branch -r  查看遠程分支
git branch -d 分支名  刪除分支

標簽管理


git tag
git tag 標簽名
git tag commitId 標簽名

git config


git config --list
git config --local -l
git config --global -l
git config --system -l
git config --local -e  編輯倉庫級別配置文件
git config --global -e  編輯用戶級別配置文件
git config --system -e  編輯系統(tǒng)級別配置文件

參考文章


http://www.reibang.com/p/c2ec5f06cf1a
https://www.liaoxuefeng.com/wiki/896043488029600
https://baijiahao.baidu.com/s?id=1623254575291831567&wfr=spider&for=pc

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末咬腕,一起剝皮案震驚了整個濱河市欢峰,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌涨共,老刑警劉巖纽帖,帶你破解...
    沈念sama閱讀 216,496評論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異举反,居然都是意外死亡懊直,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,407評論 3 392
  • 文/潘曉璐 我一進店門火鼻,熙熙樓的掌柜王于貴愁眉苦臉地迎上來室囊,“玉大人,你說我怎么就攤上這事魁索∪谧玻” “怎么了?”我有些...
    開封第一講書人閱讀 162,632評論 0 353
  • 文/不壞的土叔 我叫張陵蛾默,是天一觀的道長懦铺。 經(jīng)常有香客問我捉貌,道長支鸡,這世上最難降的妖魔是什么冬念? 我笑而不...
    開封第一講書人閱讀 58,180評論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮牧挣,結果婚禮上急前,老公的妹妹穿的比我還像新娘。我一直安慰自己瀑构,他們只是感情好裆针,可當我...
    茶點故事閱讀 67,198評論 6 388
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著寺晌,像睡著了一般世吨。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上呻征,一...
    開封第一講書人閱讀 51,165評論 1 299
  • 那天耘婚,我揣著相機與錄音,去河邊找鬼陆赋。 笑死沐祷,一個胖子當著我的面吹牛,可吹牛的內容都是我干的攒岛。 我是一名探鬼主播赖临,決...
    沈念sama閱讀 40,052評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼灾锯!你這毒婦竟也來了兢榨?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 38,910評論 0 274
  • 序言:老撾萬榮一對情侶失蹤顺饮,失蹤者是張志新(化名)和其女友劉穎色乾,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體领突,經(jīng)...
    沈念sama閱讀 45,324評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡暖璧,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,542評論 2 332
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了君旦。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片澎办。...
    茶點故事閱讀 39,711評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖金砍,靈堂內的尸體忽然破棺而出局蚀,到底是詐尸還是另有隱情,我是刑警寧澤恕稠,帶...
    沈念sama閱讀 35,424評論 5 343
  • 正文 年R本政府宣布琅绅,位于F島的核電站,受9級特大地震影響鹅巍,放射性物質發(fā)生泄漏千扶。R本人自食惡果不足惜料祠,卻給世界環(huán)境...
    茶點故事閱讀 41,017評論 3 326
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望澎羞。 院中可真熱鬧髓绽,春花似錦、人聲如沸妆绞。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,668評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽括饶。三九已至株茶,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間图焰,已是汗流浹背忌卤。 一陣腳步聲響...
    開封第一講書人閱讀 32,823評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留楞泼,地道東北人驰徊。 一個月前我還...
    沈念sama閱讀 47,722評論 2 368
  • 正文 我出身青樓,卻偏偏與公主長得像堕阔,于是被迫代替她去往敵國和親棍厂。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 44,611評論 2 353

推薦閱讀更多精彩內容

  • Git 是目前最流行的分布式版本控制系統(tǒng)之一超陆。 版本控制指的是牺弹,記錄每次版本變更的內容和時間等細節(jié),保留各版本之間...
    神齊閱讀 1,421評論 0 7
  • 參考git詳細教程:一小時學會git 1. git的分區(qū) 工作區(qū)(Working Directory)---->暫...
    息息小眠蟲閱讀 877評論 0 0
  • 以下筆記主要參考gitgot时呀,大致了解git使用和原理张漂。 第一部分我們從個人的視角去研究如何用好Git,并且揭示G...
    carolwhite閱讀 2,375評論 0 1
  • 1.git的簡單使用流程 git分為工作區(qū)(working directory)、暫存區(qū)(index或者stage...
    轟炸機上調雞尾酒閱讀 1,665評論 0 1
  • 我的常用: ===================================** 撤銷工作修改:**1趴梢、gi...
    ddai_Q閱讀 730評論 0 5