Git基礎知識

一、命令行的演示

1.初始化一個代碼倉庫

  • git init

2.如果使用git海蔽,必須給git配置用戶名和郵箱
給當前的git倉庫配置用戶名和郵箱

給git配置全局的用戶名和郵箱

備注:如果既有當前配置又有全局配置钥组,會優(yōu)先使用當前配置输硝,如果沒有當前配置,會使用全局配置程梦;

3.初始化項目

  • touch README.md :創(chuàng)建README.md
  • open README.md :打開README.md文件
  • git add README.md :將README.md 添加到暫緩區(qū)点把;也就是將工作區(qū)中修改過的文件或新添加的文件添加到暫緩區(qū)
  • git commit -m "描述“ :將暫緩區(qū)的所有內容提交到本地版本庫橘荠,清空暫緩區(qū)
  • git add . :將在工作區(qū)的所有不在暫緩區(qū)的所有的內容添加到暫緩區(qū);git 一般不使用星號作為通配符郎逃,一般使用點‘.’哥童;

注意:添加的文件或者修改的文件都要通過add命令將該文件添加到暫緩區(qū);

4.查看文件狀態(tài)

  • git status

備注:
1.紅色:該文件被添加或者被修改褒翰,但是沒有添加到git的暫緩區(qū)
2.綠色:該文件在在暫緩區(qū)贮懈,但是沒有提交到本地版本庫

5.給命令行起別名

  • git config alias.st "status" :給查看狀態(tài)的status的命令起別名
  • git config alias.ci "commit -m " :給他commit -m 起別名為ci,用的時候直接 git ci "描述“ 即可
  • git config --global alias.st "status" :全局配置status的別名

6.刪除文件

  • git rm README.md :刪除README.md文件

7.查看版本信息

  • git log :版本號是有sha1算法生成的40位哈希值,查看正常的版本信息优训;
  • git reflog :可以查看到所有版本回退的信息朵你;

8.版本回退
一種是:本地寫了東西,但是沒有提交(指的是沒有進行過commit命令)揣非,可以使用下面的命令直接回退抡医;也就是放棄所有沒有提交過的修改;

  • git reset --hard HEAD :回到當前版本(HEAD)就是git的指針早敬;

一種是:寫過的東西忌傻,已經(jīng)提交了,使用如下命令:

  • git reset --hard HEAD^:回到上一個版本
  • git reset --hard HEAD^^:回到shag上上個版本
  • git reset --hard HEAD~100:回到前100個版本
  • git reset --hard 版本號(前5位:重復了就6位搞监,依次類推):回到指定的版本號(git reflog得到的版本號)水孩;

提示:在git中,版本號是一個由SHA1生成的哈希值

版本回退的操作順序:
1.git reset --hard HEAD^ :回到上一個版本(A角色)
2.git push -f :A角色強制上傳到共享版本庫
3.git reset --hard HEAD^ :回到上一個版本(B角色)
4.git pull :B角色再拉下代碼琐驴,才真正的回退
注意:如果多人開發(fā)荷愕,想要版本真正的回退,必須合作棍矛,必須多人同時回退

9.給log起別名

10.git的工作區(qū)-Working directory
倉庫文件夾里除.git目錄以外的內容;也就是.git的同級目錄及同級目錄的子目錄都是git的工作區(qū)抛杨,不包裹.git目錄;

11.git版本庫-Repository
就是.git目錄,用于存儲記錄版本信息夯辖;

  • 暫緩區(qū)-stage
  • 分支-master:git會自動創(chuàng)建的第一個分支就是master分支十嘿;
  • HEAD指針:用于指向當前分支;
二 共享版本庫
  • git服務器的搭建非常繁瑣(Linux)
  • 可以把代碼托管到github/OSChain
  • 一個文件夾
  • 一個U盤

1.一個文件夾作為共享版本庫

  • git init --bare :(看到配置里面的config文件屈嗤,bare=true潘拨;且里面無.git文件夾)

2.將共享版本庫的所有內容下載到本地的一個文件夾(稱為文件夾A)

  • git clone 克隆共享文件夾的地址

3.在文件夾A中創(chuàng)建忽略文件----svn是先創(chuàng)建項目,再創(chuàng)建忽略文件饶号;git是在先創(chuàng)建忽略文件铁追,在初始化項目;

  • touch .gitignore :在工作區(qū)中創(chuàng)建此文件
  • git add .
  • git commit -m "添加.gitignore文件"

4.創(chuàng)建項目
將創(chuàng)建的新項目的地址放在2中項目的文件夾A

三 現(xiàn)有項目 再添加版本控制

1.先創(chuàng)建一個代碼倉庫(比如在GitHub上創(chuàng)建)
2.git clone 上述創(chuàng)建的倉庫地址 :clone遠程倉庫到本地文件夾A中
3.直接把存在的項目拖到文件夾A中
4.git add .
5.git commit -m "描述"

  1. git push [遠程主機名] [本地分支名]:[遠程分支名]

四 錯誤修改

  • 4.1 git pull 失敗 ,提示:fatal: refusing to merge unrelated histories

在進行git pull 時茫船,添加一個可選項:git pull origin master --allow-unrelated-histories

  • 4.2 git中Please enter a commit message to explain why this merge is necessary,Please enter a commit message to explain why this merge is necessary.解決方案如下:

請輸入提交消息來解釋為什么這種合并是必要的

image

git 在pull或者合并分支的時候有時會遇到這個界面琅束∨てǎ可以不管(直接下面3,4步),如果要輸入解釋的話就需要:

1.按鍵盤字母 i 進入insert模式

2.修改最上面那行黃色合并信息,可以不修改

3.按鍵盤左上角"Esc"

4.輸入":wq",注意是冒號+wq,按回車鍵即可

五涩禀、關聯(lián)遠程分支

git remote add origin git@github.com:git_username/repository_name.git

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末料滥,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子艾船,更是在濱河造成了極大的恐慌葵腹,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,277評論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件屿岂,死亡現(xiàn)場離奇詭異践宴,居然都是意外死亡,警方通過查閱死者的電腦和手機雁社,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,689評論 3 393
  • 文/潘曉璐 我一進店門浴井,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人霉撵,你說我怎么就攤上這事磺浙。” “怎么了徒坡?”我有些...
    開封第一講書人閱讀 163,624評論 0 353
  • 文/不壞的土叔 我叫張陵撕氧,是天一觀的道長。 經(jīng)常有香客問我喇完,道長伦泥,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,356評論 1 293
  • 正文 為了忘掉前任锦溪,我火速辦了婚禮不脯,結果婚禮上,老公的妹妹穿的比我還像新娘刻诊。我一直安慰自己防楷,他們只是感情好,可當我...
    茶點故事閱讀 67,402評論 6 392
  • 文/花漫 我一把揭開白布则涯。 她就那樣靜靜地躺著复局,像睡著了一般。 火紅的嫁衣襯著肌膚如雪粟判。 梳的紋絲不亂的頭發(fā)上亿昏,一...
    開封第一講書人閱讀 51,292評論 1 301
  • 那天,我揣著相機與錄音档礁,去河邊找鬼角钩。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的彤断。 我是一名探鬼主播野舶,決...
    沈念sama閱讀 40,135評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼宰衙!你這毒婦竟也來了平道?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 38,992評論 0 275
  • 序言:老撾萬榮一對情侶失蹤供炼,失蹤者是張志新(化名)和其女友劉穎一屋,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體袋哼,經(jīng)...
    沈念sama閱讀 45,429評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡冀墨,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,636評論 3 334
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了涛贯。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片诽嘉。...
    茶點故事閱讀 39,785評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖弟翘,靈堂內的尸體忽然破棺而出虫腋,到底是詐尸還是另有隱情,我是刑警寧澤稀余,帶...
    沈念sama閱讀 35,492評論 5 345
  • 正文 年R本政府宣布悦冀,位于F島的核電站,受9級特大地震影響睛琳,放射性物質發(fā)生泄漏盒蟆。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,092評論 3 328
  • 文/蒙蒙 一师骗、第九天 我趴在偏房一處隱蔽的房頂上張望历等。 院中可真熱鬧,春花似錦辟癌、人聲如沸募闲。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,723評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至靴患,卻和暖如春仍侥,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背鸳君。 一陣腳步聲響...
    開封第一講書人閱讀 32,858評論 1 269
  • 我被黑心中介騙來泰國打工农渊, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人或颊。 一個月前我還...
    沈念sama閱讀 47,891評論 2 370
  • 正文 我出身青樓砸紊,卻偏偏與公主長得像传于,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子醉顽,可洞房花燭夜當晚...
    茶點故事閱讀 44,713評論 2 354

推薦閱讀更多精彩內容

  • 潮汕鹵水配方 原料 : 1沼溜、龍骨、老母雞各7500克,去皮五花肉5000克,肉皮1500克游添,金華火腿2000克,火...
    廖相暉閱讀 2,306評論 0 0
  • 每個店面的情況都不一樣系草,從地域、客流唆涝、消費水平等等各個方面都是不同的基礎找都,那么存在的問題也就大不相同。所以...
    城市格調劉姣閱讀 116評論 0 0
  • 我是高大花 很高興遇見你You Belong With Me你屬于我 1 Whe...
    是高大花呀閱讀 252評論 0 2
  • 更新 在"/etc/yum.repos.d/nginx.repo"創(chuàng)建內容為: 不管怎么說,nodejs都被我搞定...
    老歐閱讀 304評論 0 1
  • C#7.0 中新增了非常有用的新功能廊酣,如果您是.NET開發(fā)者能耻,建議花些時間來了解這些新特性。 1亡驰、Out 變量 在...
    liuyuedeyu閱讀 336評論 0 0