Github命令之基礎(chǔ)

入門

  • git init 初始化一個(gè)版本倉庫
  • git remove add origin git@g.com:/try_git.git 增加一個(gè)github上的遠(yuǎn)端倉庫
  • git status git倉庫的當(dāng)前狀態(tài)
  • git add ‘*.txt’

注意: 通配符 .txt 外面引號(hào),如果沒有引號(hào)肛真,則命令會(huì)被shell先解析,即.txt的內(nèi)容變成了當(dāng)前目錄下的所有txt文件,而忽略子目錄中的所有txt文件代兵,而‘*.txt’則會(huì)將通配符交給git來處理,在git內(nèi)部完成 所有文件夾中txt文件搜索镀裤。

  • git commit -m 'xxx' 向版本庫提交一個(gè)改動(dòng)版本 陵究,‘xxx’是類似于該版本的注釋。
  • git commit --amend 修改以前的提交
  • git pull -u origin master 從origin[github遠(yuǎn)端] 拉版本到本地的master 分支

提高

  • git reset filename 將Statge(git add后commit前)狀態(tài)轉(zhuǎn)為modified狀態(tài)
  • git checkout --filename

注意: git checkout 只能將處于modifed狀態(tài)的文件revert到之前的末修改前的狀態(tài),而如果一個(gè)文件的已經(jīng)git add進(jìn)入了staged狀態(tài)制跟,則checkout對(duì)其沒有效果舅桩。

  • git clone git@g.com 克隆git遠(yuǎn)程倉庫下的文件
  • git tag <new tag>標(biāo)識(shí)提交記錄,之后可以通過用checked跳到該狀態(tài)
  • git checkout <file name> 快速丟棄所有的變更,在沒有添加(add)之前
  • git remote 查看遠(yuǎn)程倉庫
  • git remote -v 查看遠(yuǎn)程倉庫和遠(yuǎn)程倉庫的url
  • git blame <filename> 查找某行代碼的最后的修改者

git diff 查看變化

  1. git diff 查看有什么變化
  2. git diff HEAD 查看pull下來新版本里有哪些變化
  3. git diff --staged 查看Stage(add后commit前)的變化
  4. git diff --cached 查看哪些文件將被提交

git log 歷史記錄

  1. git log 查看歷史記錄
  2. git log --oneline 只查看當(dāng)前分支的提交信息(commit message),不顯示其它(比如提交時(shí)間雨膨、提交Author等)
  3. git log <branch> --oneline 只查看指定的分支(branch)的提交信息(commit message)

git rm 移除文件及文件夾

  1. git rm <file name> 刪除connit提交后文件擂涛,執(zhí)行這條命令后,本地的文件也一并刪除了
  2. git rm --cached <file name> 移除不需要提交的文件聊记,add后是直接移除;commit后的需要再一次commit才能移除,不然依舊提交第一次commit后的結(jié)果

git mv 文件重命名

  • git mv <old file name> <new file name> 修改文件名,需要commit和push撒妈,遠(yuǎn)程倉庫的文件才會(huì)重命名

git stash 對(duì)修改內(nèi)容的保存,而不是提交

  • git stash 當(dāng)前工作區(qū)內(nèi)容已被修改排监,但是并未完成狰右。你需要保存它,而不是提交(commit)它舆床,此時(shí)需要stash
  • git stash pop 恢復(fù)stash后的內(nèi)容

git rebase

  1. git rebase --continue 在rebase的過程中棋蚌,出現(xiàn)沖突時(shí),git會(huì)停止rebase并讓你解決沖突挨队,待解決完沖突后谷暮,無需commit,只需要git rebase --continue繼續(xù)執(zhí)行apply余下的補(bǔ)丁
  2. git rebase --abort 停止rebase的行動(dòng)盛垦,并且分支回到rebase開始的狀態(tài)
  3. git rebase -i HEAD~2 修改第二次提交的commit message 湿弦,將‘pick’改為‘r’
  4. `git rebase -i HEAD~4 對(duì) commit 歷史進(jìn)行修改合并,把多個(gè) commit 合并成一個(gè),例如:將最后三個(gè) commit 都合并到第二個(gè) commit - Adding README情臭,將‘pick’改為‘s’
  5. git rebase -i HEAD~2 提交順序錯(cuò)亂時(shí)省撑,使用 git rebase -i 進(jìn)行調(diào)整, 將錯(cuò)誤的順序換成正確的位置,即修改 pick的代碼行進(jìn)行交換

其它

  • 編輯.gitignore :除了lib.a外,忽略文件.a(*.a \n !lib.a)
  • git repack -d 優(yōu)化資源庫(很少用到)
  • git grep "TODO" 為了不影響當(dāng)前正在做的事情俯在,會(huì)把一些不那么緊急的任務(wù)使用 TODO 注釋在代碼里竟秫,現(xiàn)代的 IDE 都能幫我們識(shí)別這些注釋并在一個(gè)單獨(dú)的窗口中羅列出來
  • git bisect start HEAD <Hash> Hash是第一次commit的代碼
  • git bisect run make test
  • git bisect reset 退出the bisect session
  • git revert <Hash> 有時(shí)代碼 push 到遠(yuǎn)程倉庫后發(fā)現(xiàn)某一塊代碼有問題,可以通過 revert 命令將特定 commit 完全恢復(fù)
  • git cherry-pick <Hash> 把最新的一次提交給毫無保留的扔掉, 又后悔了跷乐,可以通過reflog獲得它提交的代號(hào)(即)然后在通過該命令找回提交肥败,(如果該提交刪除或添加了某些文件,這些文件將不會(huì)被找回)該命令只是找回了提交的記錄
  • git log <branch1> -p <fileName> -> git cherry-pick <Hash> 從branch1摘下某次commit愕提,合并到當(dāng)前分支(不是branch1分支)
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末馒稍,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子浅侨,更是在濱河造成了極大的恐慌纽谒,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,406評(píng)論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件如输,死亡現(xiàn)場離奇詭異鼓黔,居然都是意外死亡央勒,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,732評(píng)論 3 393
  • 文/潘曉璐 我一進(jìn)店門澳化,熙熙樓的掌柜王于貴愁眉苦臉地迎上來崔步,“玉大人,你說我怎么就攤上這事缎谷【簦” “怎么了?”我有些...
    開封第一講書人閱讀 163,711評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵列林,是天一觀的道長瑞你。 經(jīng)常有香客問我,道長席纽,這世上最難降的妖魔是什么捏悬? 我笑而不...
    開封第一講書人閱讀 58,380評(píng)論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮润梯,結(jié)果婚禮上过牙,老公的妹妹穿的比我還像新娘。我一直安慰自己纺铭,他們只是感情好寇钉,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,432評(píng)論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著舶赔,像睡著了一般扫倡。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上竟纳,一...
    開封第一講書人閱讀 51,301評(píng)論 1 301
  • 那天撵溃,我揣著相機(jī)與錄音,去河邊找鬼锥累。 笑死缘挑,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的桶略。 我是一名探鬼主播语淘,決...
    沈念sama閱讀 40,145評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼际歼!你這毒婦竟也來了惶翻?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,008評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤鹅心,失蹤者是張志新(化名)和其女友劉穎吕粗,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體旭愧,經(jīng)...
    沈念sama閱讀 45,443評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡颅筋,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,649評(píng)論 3 334
  • 正文 我和宋清朗相戀三年虐秋,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片垃沦。...
    茶點(diǎn)故事閱讀 39,795評(píng)論 1 347
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖用押,靈堂內(nèi)的尸體忽然破棺而出肢簿,到底是詐尸還是另有隱情,我是刑警寧澤蜻拨,帶...
    沈念sama閱讀 35,501評(píng)論 5 345
  • 正文 年R本政府宣布池充,位于F島的核電站,受9級(jí)特大地震影響缎讼,放射性物質(zhì)發(fā)生泄漏收夸。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,119評(píng)論 3 328
  • 文/蒙蒙 一血崭、第九天 我趴在偏房一處隱蔽的房頂上張望卧惜。 院中可真熱鬧,春花似錦夹纫、人聲如沸咽瓷。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,731評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽茅姜。三九已至,卻和暖如春月匣,著一層夾襖步出監(jiān)牢的瞬間钻洒,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,865評(píng)論 1 269
  • 我被黑心中介騙來泰國打工锄开, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留素标,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 47,899評(píng)論 2 370
  • 正文 我出身青樓院刁,卻偏偏與公主長得像糯钙,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子退腥,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,724評(píng)論 2 354

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