Git常用命令


一褒链、將本地項(xiàng)目推送到遠(yuǎn)程github

1.在本地創(chuàng)建倉庫

  • git init

2.將項(xiàng)目在本地提交

  • git add .
  • git commit

3.在github上創(chuàng)建倉庫蠢琳,本地添加remote地址

  • git remote add origin git_url

4.如果遠(yuǎn)程已經(jīng)有提交了啊终,比如readme,需要先將遠(yuǎn)程倉庫pull到本地

  • git pull [遠(yuǎn)程倉庫名] [遠(yuǎn)程分支名]
  • git pull origin master
    - 第一次會(huì)讓你登錄github賬戶
  • 報(bào)錯(cuò) fatal: refusing to merge unrelated histories
    - 原因是兩個(gè)分別沒有取得關(guān)聯(lián)傲须,無法merge
    - 解決辦法蓝牲,加上 --allow-unrelated-histories ,忽略不關(guān)聯(lián)

5.將本地提交推送到遠(yuǎn)程倉庫

  • git push -u [遠(yuǎn)程倉庫名] [本地分支名]
  • git push -u origin master
    - 第一次加上 -u泰讽,之后就不需要-u

二例衍、分支管理

1.查看已有分支(本地+遠(yuǎn)程)

  • git branch 查看本地分支昔期,標(biāo)*號(hào)為當(dāng)前分支
  • git branch -a 查看本地+遠(yuǎn)程分支

2.新建分支(本地+遠(yuǎn)程)

1. 新建一個(gè)本地分支
  • git branch new_name
  • 將會(huì)以當(dāng)前分支為基礎(chǔ)創(chuàng)建新分支
  • git checkout -b [分支名]:創(chuàng)建并切換到新分支
2.新建一個(gè)遠(yuǎn)程分支

push 一個(gè)本地新分支到遠(yuǎn)程

    1. 先在本地建立一個(gè)分支:git branch branch_name
    1. 切換到該新分支:git checkout branch_name
    1. 將這個(gè)本地分支推動(dòng)到遠(yuǎn)程倉庫以新建一個(gè)分支:git push [遠(yuǎn)程倉庫名origin] [本地分支名]:[遠(yuǎn)程分支名]
  • 直接創(chuàng)建遠(yuǎn)程分支:git checkout -b [分支名] [遠(yuǎn)程倉庫名]/[分支名]

3.切換分支

1.切換本地分支:
  • git checkout branch_name
2.切換遠(yuǎn)程分支:
  • 呵呵,不存在的

4.分支合并

1.將指定分支合并到當(dāng)前分支
  • git merge [指定分支名]
  • 默認(rèn)采用的是Fast-forward(快進(jìn)模式)合并方式佛玄,直接將當(dāng)前分支指向了指定分支的最新提交硼一,會(huì)有環(huán)出現(xiàn),切不會(huì)產(chǎn)生新的提交梦抢。雖然速度快般贼,帶來的問題是這樣當(dāng)某個(gè)分支被刪除了,該分支上的log將也沒了奥吩。
  • --no-ff 禁用快進(jìn)模式哼蛆,那么每次merge都將是一個(gè)指定分支向當(dāng)前分支的新的提交。刪除分支之后圈驼,同樣會(huì)造成log丟失人芽。
2.解決merge沖突
  1. git status 查看沖突的文件,并解決沖突
  2. git add . 再次提交工作區(qū)文件
  3. git commit 再次提交望几,完成合并
  4. 可選绩脆,刪除分支
3.git rebase

把分叉的提交歷史“整理”成一條直線,看上去更直觀
其實(shí)是在當(dāng)前分支上對其他分支依次執(zhí)行git cherry-pick橄抹,最后得到的log就是一條線上的

5.刪除分支

1.刪除本地分支
  • git branch -d [分支名]
2.刪除遠(yuǎn)程分支:

push 一個(gè)空分支

  • 可以push一個(gè)空分支來刪除遠(yuǎn)程分支:git push [遠(yuǎn)程倉庫名 origin] :[刪除的遠(yuǎn)程分支名]
  • 也有專門的命令:git push [遠(yuǎn)程倉庫名 origin] --delete [刪除的遠(yuǎn)程分支名]

三靴迫、本地版本穿梭

1.工作區(qū)和版本庫

  • 工作區(qū):可見的文件夾目錄
  • 版本庫(repository): .git 隱藏文件夾
    - 暫存區(qū)(stage) + 版本庫
  • git checkout --[filename]:撤銷工作區(qū)的更改
    - 加 -- 是為了區(qū)分切換分支
  • git status:查看暫存區(qū)內(nèi)容
  • git add :添加工作區(qū)更改到暫存區(qū)
    - 添加文件或者刪除文件不需要添加到暫存區(qū),直接commit就可以了
  • git reset [filename]:撤銷(unstage)暫存區(qū)的更改到工作區(qū)
  • git commit:提交暫存區(qū)的內(nèi)容到版本庫
    - --amend楼誓,在上次提交的基礎(chǔ)上再次提交

2.版本回退

  • git reset --hard [commit_id]
    - 通過git loggit reflog (查看命令歷史)查看commit id
    - -- hard 的作用是:
  • git reset --hard HEAD^
    - HEAD 表示當(dāng)前版本玉锌,HEAD^:上一個(gè)版本
    - --hard:表示的是徹底回退,而不是將提交回撤到暫存區(qū)或者工作區(qū)疟羹,工作區(qū)和暫存區(qū)的變化將為空主守。

四、遠(yuǎn)程倉庫

0.上傳SSH key

用ssh key來區(qū)別是否是本人操作榄融,未上傳ssh参淫, 無法push

1. 生成SSH key
  • $ ssh-keygen -t rsa -C "youremail@example.com"
2. 查看主目錄.ssh,找到密鑰
  • id_rsaid_rsa.pub
3. 將公鑰上傳
  • 之后就可以進(jìn)行push操作了

1.本地與遠(yuǎn)程操作

1. 將遠(yuǎn)程倉庫和本地倉庫關(guān)聯(lián)(添加遠(yuǎn)程倉庫):
  • git clone [git倉庫url] 的情況下直接關(guān)聯(lián)愧杯,不需要再添加
    Git自動(dòng)把本地的master分支和遠(yuǎn)程的master分支對應(yīng)起來了涎才,并且,遠(yuǎn)程倉庫的默認(rèn)名稱是origin
    并且只會(huì)clone遠(yuǎn)程的master分支到本地
  • 其他情況
    - git remote add [倉庫名] [git倉庫url]
    - git remote rm [倉庫名]
2. 查看遠(yuǎn)程倉庫名
  • git remote
  • 一般默認(rèn)為:origin
3.將本地分支與遠(yuǎn)程分支建立連接
  • git branch --set-upstream-to= [遠(yuǎn)程倉庫名]/[遠(yuǎn)程分支名] [本地分支名]
  • 這是進(jìn)行git pushgit pull 前提力九,否則需要參數(shù)指定
  • 設(shè)置好了之后耍铜,直接git pushgit pull 就可以跌前,無需參數(shù)
4. 拉取遠(yuǎn)程內(nèi)容
  • git pull [遠(yuǎn)程倉庫名] [遠(yuǎn)程分支名]
4. 推送本地分支到遠(yuǎn)程分支
  • git push -u [遠(yuǎn)程倉庫名] [本地分支名] : 推送本地當(dāng)前分支到遠(yuǎn)程分支
  • -u 參數(shù)只需要第一次加棕兼,意思是將本地分支與遠(yuǎn)程分支關(guān)聯(lián)了,相當(dāng)于--set-upstream-to=origin/branch的作用
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末抵乓,一起剝皮案震驚了整個(gè)濱河市伴挚,隨后出現(xiàn)的幾起案子蹭沛,更是在濱河造成了極大的恐慌,老刑警劉巖章鲤,帶你破解...
    沈念sama閱讀 216,372評論 6 498
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件摊灭,死亡現(xiàn)場離奇詭異,居然都是意外死亡败徊,警方通過查閱死者的電腦和手機(jī)帚呼,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,368評論 3 392
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來皱蹦,“玉大人煤杀,你說我怎么就攤上這事』Σ福” “怎么了沈自?”我有些...
    開封第一講書人閱讀 162,415評論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長辜妓。 經(jīng)常有香客問我枯途,道長,這世上最難降的妖魔是什么籍滴? 我笑而不...
    開封第一講書人閱讀 58,157評論 1 292
  • 正文 為了忘掉前任酪夷,我火速辦了婚禮,結(jié)果婚禮上孽惰,老公的妹妹穿的比我還像新娘晚岭。我一直安慰自己,他們只是感情好勋功,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,171評論 6 388
  • 文/花漫 我一把揭開白布坦报。 她就那樣靜靜地躺著,像睡著了一般狂鞋。 火紅的嫁衣襯著肌膚如雪片择。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,125評論 1 297
  • 那天要销,我揣著相機(jī)與錄音构回,去河邊找鬼。 笑死疏咐,一個(gè)胖子當(dāng)著我的面吹牛纤掸,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播浑塞,決...
    沈念sama閱讀 40,028評論 3 417
  • 文/蒼蘭香墨 我猛地睜開眼借跪,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了酌壕?” 一聲冷哼從身側(cè)響起掏愁,我...
    開封第一講書人閱讀 38,887評論 0 274
  • 序言:老撾萬榮一對情侶失蹤歇由,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后果港,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體沦泌,經(jīng)...
    沈念sama閱讀 45,310評論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,533評論 2 332
  • 正文 我和宋清朗相戀三年辛掠,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了谢谦。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,690評論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡萝衩,死狀恐怖回挽,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情猩谊,我是刑警寧澤千劈,帶...
    沈念sama閱讀 35,411評論 5 343
  • 正文 年R本政府宣布,位于F島的核電站牌捷,受9級(jí)特大地震影響墙牌,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜宜鸯,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,004評論 3 325
  • 文/蒙蒙 一憔古、第九天 我趴在偏房一處隱蔽的房頂上張望遮怜。 院中可真熱鬧淋袖,春花似錦、人聲如沸锯梁。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,659評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽陌凳。三九已至剥懒,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間合敦,已是汗流浹背初橘。 一陣腳步聲響...
    開封第一講書人閱讀 32,812評論 1 268
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留充岛,地道東北人保檐。 一個(gè)月前我還...
    沈念sama閱讀 47,693評論 2 368
  • 正文 我出身青樓,卻偏偏與公主長得像崔梗,于是被迫代替她去往敵國和親夜只。 傳聞我的和親對象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,577評論 2 353

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

  • Git 基礎(chǔ) 基本原理 客戶端并不是只提取最新版本的文件快照蒜魄,而是把代碼倉庫完整的鏡像下來扔亥。這樣一來场躯,任何一處協(xié)同...
    __silhouette閱讀 15,874評論 5 147
  • 1,查看所有遠(yuǎn)程分支:%git branch -r 2, 拉取遠(yuǎn)程分支并創(chuàng)建本地分支git checkout -...
    will666閱讀 2,068評論 0 18
  • git branch 查看本地所有分支 git status 查看當(dāng)前狀態(tài) git commit 提交 git b...
    猿萬閱讀 5,055評論 1 45
  • 孩子 快睡吧 趁床褥尚且柔軟 轉(zhuǎn)身 壓不碎一個(gè)晶瑩的夢
    蕭陌閱讀 179評論 0 5
  • 一直在思考旅挤,我的第一次寫簡書踢关,我要輸入些什么,我的重點(diǎn)立足在哪里粘茄,總覺得第一篇簡書耘成,不能潦草對待,所以一直沒有來這...
    簡HOPE閱讀 267評論 0 0