git教程

工作區(qū)有一個隱藏目錄.git,這個不算工作區(qū),而是Git的版本庫政恍。
mkdir learnGit //創(chuàng)建目錄
cd learnGit//切換到learnGit目錄
pwd //打印路徑地址
git init //初始化
git add readme.txt //添加文件
git commit -m “wrote a readme file”//提交修改
rm <fileName>//移除文件
git status//命令可以讓我們時刻掌握倉庫當(dāng)前的狀態(tài)
git diff //查看更新內(nèi)容
pod update 庫名--verbose --no-repo-update//更新指定付
//版本回退
git log //查看提交的日志記錄
git reset --soft 狀態(tài)代碼 恢復(fù)狀態(tài)
git log --pretty=oneline //如果嫌輸出信息太多,看得眼花繚亂的,可以試試加上--pretty=oneline參數(shù):
git log --stat 查看提交文件記錄
git reset —hard HEAD//退回上個版本定踱,上上一個版本就是HEAD^,往上100個版本寫HEAD~100
git reset --hard 3628164//回到指定版本
git reflog //查看命令歷史

//撤銷修改
git checkout -- fileName //可以丟棄工作區(qū)的修改,無—就變成了‘切換到另一個分支’的命令
git reset HEAD file //當(dāng)add后未commit恃鞋,想丟失時

//本地上傳遠(yuǎn)程倉庫
創(chuàng)建SSH Key:ssh-keygen -t rsa -C "youremail@example.com"
git remote add origin git@github.com:yourName/learngit.git//與本地倉庫進(jìn)行關(guān)聯(lián)
git push -u origin master //本地內(nèi)容推送到遠(yuǎn)程庫,第一次推送加上-u參數(shù)

//從遠(yuǎn)程庫克隆到本地
git clone https://github.com/wangerjunn/GitSkills.git
git clone git@github.com:michaelliao/gitskills.git //從遠(yuǎn)程倉庫克隆內(nèi)容
//GitHub給出的地址不止一個崖媚,還可以用https://github.com/michaelliao/gitskills.git這樣的地址。實(shí)際上恤浪,Git支持多種協(xié)議畅哑,默認(rèn)的git://使用ssh,但也可以使用https等其他協(xié)議水由。使用https除了速度慢以外荠呐,還有個最大的麻煩是每次推送都必須輸入口令,但是在某些只開放http端口的公司內(nèi)部就無法使用ssh協(xié)議而只能用https砂客。

git pull 從服務(wù)端請求最新代碼
git push 將代碼推送到遠(yuǎn)程:

//分支管理
git checkout -b dev //創(chuàng)建+切換分支
相當(dāng)于一下兩條命令:
git branch dev //創(chuàng)建分支
git checkout dev //切換分支

git branch //命令會列出所有分支
git merge <name> //合并某分支到當(dāng)前分支
git branch -d <name> //刪除分支

vi readme.txt //編輯內(nèi)容
git merge --no-ff -m "merge with no-ff" dev //--no-ff表示禁用Fast forward

//bug 分支
git stash //隱藏當(dāng)前工作現(xiàn)場
git stash list //查看隱藏的工作現(xiàn)場列表
使用指令“git stash apply stash@{id}”泥张,恢復(fù)指定id的stash內(nèi)容,同時不會刪除恢復(fù)的緩存條目鞠值。
一是用git stash apply恢復(fù)媚创,但是恢復(fù)后,stash內(nèi)容并不刪除彤恶,你需要用git stash drop來刪除筝野;
另一種方式是用git stash pop晌姚,恢復(fù)的同時把stash內(nèi)容也刪了:

//多人協(xié)作

  • 查看遠(yuǎn)程庫信息,使用git remote -v歇竟;
  • 本地新建的分支如果不推送到遠(yuǎn)程挥唠,對其他人就是不可見的;
  • 從本地推送分支焕议,使用git push origin branch-name宝磨,如果推送失敗,先用git pull抓取遠(yuǎn)程的新提交盅安;
  • 在本地創(chuàng)建和遠(yuǎn)程分支對應(yīng)的分支唤锉,使用git checkout -b branch-name origin/branch-name,本地和遠(yuǎn)程分支的名稱最好一致别瞭;
  • 建立本地分支和遠(yuǎn)程分支的關(guān)聯(lián)窿祥,使用git branch --set-upstream branch-name origin/branch-name;
  • 從遠(yuǎn)程抓取分支蝙寨,使用git pull晒衩,如果有沖突,要先處理沖突墙歪。
    查看歷史分支流程提交信息
    git log --graph --pretty=oneline --abbrev-commit

//標(biāo)簽管理
git tag //查看所有標(biāo)簽
git tag <tagName> //打標(biāo)簽
git tag <tagName> commitId //根據(jù)對象的commitId打標(biāo)簽
git show <tagName> //查看標(biāo)簽信息
git tag -a <tagName> -m “備注” commitId //創(chuàng)建帶有說明的標(biāo)簽听系,用-a指定標(biāo)簽名,-m指定說明文字:
git tag -s <tagname> -m "blablabla..."可以用PGP簽名標(biāo)簽虹菲;

  • 命令git push origin <tagname>可以推送一個本地標(biāo)簽靠胜;
  • 命令git push origin --tags可以推送全部未推送過的本地標(biāo)簽;
  • 命令git tag -d <tagname>可以刪除一個本地標(biāo)簽毕源;
  • 命令git push origin :refs/tags/<tagname>可以刪除一個遠(yuǎn)程標(biāo)簽浪漠。

//自定義git
git config - - global color.ui true //讓git顯示顏色
git config - - global alias.st status //配置別名,簡寫

//搭建Git服務(wù)器
1.安裝git
sudo apt-get install git

2.創(chuàng)建git用戶霎褐,用來運(yùn)行g(shù)it服務(wù)
sudo adduser git

3.創(chuàng)建證書登陸
收集所有需要登錄的用戶的公鑰郑藏,就是他們自己的id_rsa.pub文件,把所有公鑰導(dǎo)入到/home/git/.ssh/authorized_keys文件里瘩欺,一行一個。

4.初始化git倉庫
先選定一個目錄作為Git倉庫拌牲,假定 /srv/sample.git,在/srv目錄下輸入命令:
sudo git init - - bare sample.git

Git就會創(chuàng)建一個裸倉庫俱饿,裸倉庫沒有工作區(qū),因?yàn)榉?wù)器上的Git倉庫純粹是為了共享塌忽,所以不讓用戶直接登錄到服務(wù)器上去改工作區(qū)拍埠,并且服務(wù)器上的Git倉庫通常都以.git結(jié)尾。然后土居,把owner改為git:
$ sudo chown -R git:git sample.git

5.禁用shell登錄
出于安全考慮枣购,第二步創(chuàng)建的git用戶不允許登錄shell嬉探,這可以通過編輯/etc/passwd文件完成。找到類似下面的一行:
git:x:1001:1001:,,,:/home/git:/bin/bash
改為:
git:x:1001:1001:,,,:/home/git:/usr/bin/git-shell
這樣棉圈,git用戶可以正常通過ssh使用git涩堤,但無法登錄shell,因?yàn)槲覀優(yōu)間it用戶指定的git-shell每次一登錄就自動退出分瘾。

6.克隆遠(yuǎn)程倉庫
git clone git@server:/srv/sample.git

原文鏈接:https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末胎围,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子德召,更是在濱河造成了極大的恐慌白魂,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,997評論 6 502
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件上岗,死亡現(xiàn)場離奇詭異福荸,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)肴掷,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,603評論 3 392
  • 文/潘曉璐 我一進(jìn)店門敬锐,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人捆等,你說我怎么就攤上這事滞造。” “怎么了栋烤?”我有些...
    開封第一講書人閱讀 163,359評論 0 353
  • 文/不壞的土叔 我叫張陵谒养,是天一觀的道長鹏倘。 經(jīng)常有香客問我编丘,道長,這世上最難降的妖魔是什么贾铝? 我笑而不...
    開封第一講書人閱讀 58,309評論 1 292
  • 正文 為了忘掉前任薯定,我火速辦了婚禮始绍,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘话侄。我一直安慰自己亏推,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,346評論 6 390
  • 文/花漫 我一把揭開白布年堆。 她就那樣靜靜地躺著吞杭,像睡著了一般。 火紅的嫁衣襯著肌膚如雪变丧。 梳的紋絲不亂的頭發(fā)上芽狗,一...
    開封第一講書人閱讀 51,258評論 1 300
  • 那天,我揣著相機(jī)與錄音痒蓬,去河邊找鬼童擎。 笑死滴劲,一個胖子當(dāng)著我的面吹牛顾复,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播聪姿,決...
    沈念sama閱讀 40,122評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼盟榴!你這毒婦竟也來了擎场?” 一聲冷哼從身側(cè)響起几莽,我...
    開封第一講書人閱讀 38,970評論 0 275
  • 序言:老撾萬榮一對情侶失蹤站欺,失蹤者是張志新(化名)和其女友劉穎纤垂,沒想到半個月后峭沦,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體吼鱼,經(jīng)...
    沈念sama閱讀 45,403評論 1 313
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡菇肃,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,596評論 3 334
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了笑跛。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,769評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖妻坝,靈堂內(nèi)的尸體忽然破棺而出惊窖,到底是詐尸還是另有隱情界酒,我是刑警寧澤毁欣,帶...
    沈念sama閱讀 35,464評論 5 344
  • 正文 年R本政府宣布凭疮,位于F島的核電站执解,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏逝淹。R本人自食惡果不足惜栅葡,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,075評論 3 327
  • 文/蒙蒙 一欣簇、第九天 我趴在偏房一處隱蔽的房頂上張望熊咽。 院中可真熱鬧横殴,春花似錦衫仑、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,705評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽等浊。三九已至楣富,卻和暖如春纹蝴,著一層夾襖步出監(jiān)牢的瞬間塘安,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,848評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留砸脊,地道東北人凌埂。 一個月前我還...
    沈念sama閱讀 47,831評論 2 370
  • 正文 我出身青樓,卻偏偏與公主長得像孩哑,于是被迫代替她去往敵國和親翠桦。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,678評論 2 354

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

  • chapter 1: 如何創(chuàng)建版本庫 初始化一個倉庫 $ git init 添加文件到Git倉庫的過程: $ gi...
    飛將軍閱讀 2,880評論 0 2
  • 前言 Git是一款免費(fèi)、開源的分布式版本控制系統(tǒng)瓶竭,用于敏捷高效地處理任何或小或大的項(xiàng)目斤贰。Git的讀音為/g?t/荧恍。...
    GitDestiny閱讀 547評論 4 2
  • 2016年的第一部電影,我選擇陪小朋友們一起觀看《小門神》摘投。事實(shí)證明犀呼,這個決定杠杠的外臂。 這是一部有創(chuàng)意有笑點(diǎn)有內(nèi)容...
    戌時涼月閱讀 585評論 0 3
  • 我不只一次地想起那個女孩,想起和我一起玩耍過的女孩跃须。 一條項(xiàng)鏈剪成兩段菇民,你一段第练,我一段娇掏,情誼永不變婴梧。 那是一個...
    恬冼閱讀 213評論 1 3
  • 前言:該筆記是本人學(xué)習(xí)SQLAlchemy官方文檔整理得來塞蹭。 查看SQLAlchemy版本 連接數(shù)據(jù)庫 本教程中我...
    嘿嘿_小于同學(xué)閱讀 1,859評論 2 2