git簡(jiǎn)易教程

本教程教你從頭到尾你操作一遍git隔缀,你只需按照步驟進(jìn)行就好,請(qǐng)你事先準(zhǔn)備好一個(gè)gitee賬號(hào),創(chuàng)建好一個(gè)git倉(cāng)庫(kù)畦木。

前言:git的操作的幾個(gè)方面

  1. 倉(cāng)庫(kù)操作
  2. 分支管理
  3. 解決沖突
  4. 版本的回退和前進(jìn)

倉(cāng)庫(kù)管理

本地有項(xiàng)目兜粘,關(guān)聯(lián)到遠(yuǎn)程倉(cāng)庫(kù)

  1. 打開(kāi)終端申窘,window打開(kāi)git bash,進(jìn)入你想要?jiǎng)?chuàng)建項(xiàng)目的目錄或者已將創(chuàng)建項(xiàng)目的目錄孔轴,執(zhí)行一下命令剃法。
  2. git init 初始化git倉(cāng)庫(kù)
  3. git remote add origint https://gitee.com/huruqing/gitdemo.git 關(guān)聯(lián)遠(yuǎn)程倉(cāng)庫(kù)(地址換成你自己的就行)
  4. git add . 把所有文件添加到版本里
  5. git status 查看狀態(tài)
  6. git commit -m'備注信息' 提交修改
  • git commit -a -m"備注信息" add和commit連著寫(xiě)
  1. git push origint master 會(huì)出現(xiàn)下面的錯(cuò)誤提示



    一般是由于遠(yuǎn)程倉(cāng)庫(kù)上有內(nèi)容,解決的辦法有兩種:
    git push origin master -f
    本地強(qiáng)制上傳到遠(yuǎn)程路鹰,把遠(yuǎn)程的覆蓋
    git pull --rebase origin master
    拉取遠(yuǎn)程的文件把本地的覆蓋玄窝,再上傳

  2. git push origin master -u 加上-u后面再提交只需要git push就可以了牵寺,不需要再加上分支名稱(chēng)

本地沒(méi)有項(xiàng)目

  1. git clone https://gitee.com/huruqing/gitdemo.git@git 把遠(yuǎn)程的倉(cāng)庫(kù)克隆到本地。
  2. 進(jìn)行像上面的那些倉(cāng)庫(kù)操作恩脂,不過(guò)首次提交的時(shí)候就不需要加 -f帽氓,因?yàn)槟闶侵苯觕lone的項(xiàng)目

其他操作

  1. git remote remove origin 取消遠(yuǎn)程倉(cāng)庫(kù)關(guān)聯(lián)
  2. rm .git -rf 刪除倉(cāng)庫(kù)
  3. git remote -v 查看遠(yuǎn)程倉(cāng)庫(kù)地址

分支管理

  1. git checkout -b dev 創(chuàng)建并切換到dev分支
  2. git branch查看分支
  3. git checkout master 切換分支到master
  4. git merge dev -m"合并分支到主干" 合并分支dev到master
  5. 把主干代碼同步到分支
  • git checkout dev 切換到分支
  • git merge master -m"合并主干到分支"
  • 如果出現(xiàn) fatal: refusing to merge unrelated histories,意思是這兩個(gè)分支沒(méi)有共同的祖先俩块,需要這樣去合并或者拉取
    git merge dev --allow-unrelated-histories
  1. git branch -a 查看所有分支
  2. git fetch origin dev:dev 把遠(yuǎn)程分支dev同步到本地分支dev
  3. git branch -d dev 刪除dev分支
  4. git push origin -d dev 刪除遠(yuǎn)程的dev分支

沖突處理

由于多人同時(shí)進(jìn)行開(kāi)發(fā)黎休,有時(shí)候會(huì)同時(shí)修改一個(gè)文件,或者多分支開(kāi)發(fā)玉凯,合并的時(shí)候就很容易引發(fā)沖突势腮,下面是一個(gè)制造沖突和解決沖突的例子。

  1. 為了方便我們看得清楚漫仆,把所有內(nèi)容刪除
  2. 在master分支捎拯,創(chuàng)建index.js
// index.js
// 創(chuàng)建對(duì)象
function Person(name, age) {
    this.name = name;
    this.age = age;
}
var p = new Person('張三豐',100);
  1. git checkout -b dev 創(chuàng)建分支dev ,這時(shí)候主干和分支的代碼都是一樣的

制造沖突

  1. 把分支上的代碼改成下面這樣子盲厌,然后提交并推送
// 工廠(chǎng)模式
function Person(name, age) {
    var obj = new Object();
    obj.name = name;
    obj.age = age;
    return obj;
}
var p = Person('張三豐', 100);
  1. 把主干代碼修改成下面這樣子的署照,然后提交并推送
// 創(chuàng)建對(duì)象
function Person(name, age) {
    this.name = name;
    this.age = age;
}
Person.prototype.say = function() {
    console.log(this.name);
}
var p = new Person('張三豐',100);
  1. 合并dev分支到主干 git merge dev -m"xxxx"
  2. 沖突出現(xiàn),代碼如下:
// 工廠(chǎng)模式
function Person(name, age) {
    var obj = new Object();
    obj.name = name;
    obj.age = age;
    return obj;
}
<<<<<<< HEAD
Person.prototype.say = function() {
    console.log(this.name);
}
var p = new Person('張三豐',100);
=======
var p = Person('張三豐', 100);
>>>>>>> dev

其中<<<<<<< 和 =======之間的代碼是當(dāng)前分支(也就是master分支)的修改,=======和>>>>>>>之間的代碼是dev分支上的修改
我們需要根據(jù)我們自己的情況去消除沖突吗浩,我們可以選擇保留主干上的修改或者是分支上的修改建芙。消除沖突之后,再執(zhí)行添加懂扼、提交禁荸、推送的動(dòng)作。

版本的前進(jìn)和回滾

  1. git log 和 git log --pretty=oneline 查看版本信信息


    image.png
  2. 如果我們要回退到aaa這次操作提交上來(lái)阀湿,我們只需要將id復(fù)制一下赶熟,然后執(zhí)行下面命令即可,版本的id每個(gè)人都會(huì)不一樣
    git reset --hard e55640863f0eb141e0857761f0268c61121c07ac
  3. 版本回退之后,如果想再回到現(xiàn)在陷嘴,你只需要記住你要回到的id即可使用同樣的命令回到現(xiàn)在
  4. 如果不記得版本id映砖,還可以使用git reflog來(lái)查看你提交的歷史記錄,從中找到版本的id罩旋,再進(jìn)行reset操作

其他

每次git push我們都需要輸入賬戶(hù)密碼比較麻煩啊央,想要免掉這一步,請(qǐng)看文章
碼云gitee添加公鑰

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末涨醋,一起剝皮案震驚了整個(gè)濱河市瓜饥,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌浴骂,老刑警劉巖乓土,帶你破解...
    沈念sama閱讀 217,657評(píng)論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡趣苏,警方通過(guò)查閱死者的電腦和手機(jī)狡相,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,889評(píng)論 3 394
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)食磕,“玉大人尽棕,你說(shuō)我怎么就攤上這事”蚵祝” “怎么了滔悉?”我有些...
    開(kāi)封第一講書(shū)人閱讀 164,057評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)单绑。 經(jīng)常有香客問(wèn)我回官,道長(zhǎng),這世上最難降的妖魔是什么搂橙? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,509評(píng)論 1 293
  • 正文 為了忘掉前任歉提,我火速辦了婚禮,結(jié)果婚禮上区转,老公的妹妹穿的比我還像新娘苔巨。我一直安慰自己,他們只是感情好蜗帜,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,562評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布恋拷。 她就那樣靜靜地躺著资厉,像睡著了一般厅缺。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上宴偿,一...
    開(kāi)封第一講書(shū)人閱讀 51,443評(píng)論 1 302
  • 那天湘捎,我揣著相機(jī)與錄音,去河邊找鬼窄刘。 笑死窥妇,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的娩践。 我是一名探鬼主播活翩,決...
    沈念sama閱讀 40,251評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼翻伺!你這毒婦竟也來(lái)了材泄?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 39,129評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤吨岭,失蹤者是張志新(化名)和其女友劉穎拉宗,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,561評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡旦事,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,779評(píng)論 3 335
  • 正文 我和宋清朗相戀三年魁巩,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片姐浮。...
    茶點(diǎn)故事閱讀 39,902評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡谷遂,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出卖鲤,到底是詐尸還是另有隱情埋凯,我是刑警寧澤,帶...
    沈念sama閱讀 35,621評(píng)論 5 345
  • 正文 年R本政府宣布扫尖,位于F島的核電站白对,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏换怖。R本人自食惡果不足惜甩恼,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,220評(píng)論 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望沉颂。 院中可真熱鬧条摸,春花似錦、人聲如沸铸屉。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,838評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)彻坛。三九已至顷啼,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間昌屉,已是汗流浹背钙蒙。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,971評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留间驮,地道東北人躬厌。 一個(gè)月前我還...
    沈念sama閱讀 48,025評(píng)論 2 370
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像竞帽,于是被迫代替她去往敵國(guó)和親扛施。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,843評(píng)論 2 354

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

  • 1)遠(yuǎn)程倉(cāng)庫(kù)相關(guān)命令 檢出倉(cāng)庫(kù):$ git clone git://github.com/jquery/jquer...
    Jeff_Tsui閱讀 336評(píng)論 0 0
  • 獲取與創(chuàng)建項(xiàng)目 創(chuàng)建倉(cāng)庫(kù)的途徑有:在本地已有的目錄屹篓,初始化一個(gè)新的疙渣;克隆復(fù)制一份別人的項(xiàng)目。 git init 在...
    daking閱讀 6,579評(píng)論 3 48
  • 公司一直在使用svn進(jìn)行開(kāi)發(fā)抱虐,今天得閑又看了看Git管理代碼的常用操作昌阿,總結(jié)一下。 Git安裝 查看是否安裝了gi...
    Supremodeamor閱讀 321評(píng)論 0 1
  • 第一次連接遠(yuǎn)程倉(cāng)庫(kù)的配置 1)配置user.name 和user.email git config --globa...
    四月不見(jiàn)閱讀 299評(píng)論 0 0
  • git常用操作 第一次連接遠(yuǎn)程倉(cāng)庫(kù)的配置 配置user.name 和user.email git config -...
    愛(ài)撒謊的男孩閱讀 438評(píng)論 0 0