git的一些操作

筆記內(nèi)容:
基本的git操作
參考文檔
https://git-scm.com/book/en/v2/Git-Internals-Plumbing-and-Porcelain
https://www.atlassian.com/git/tutorials/using-branches/git-merge

  1. git status, git log, git show
    git status: 一個(gè)很general的項(xiàng)目情況,比方說你在哪個(gè)branch上,有沒有commit(或者是否up to date到你clone過來的那個(gè)repo)
    git log: 看到每個(gè)commit的編碼SHA吸占,一個(gè)short description, 還有關(guān)于commit的時(shí)間和作者。如果想只看編碼前幾位和description,則git log --oneline
    git log --stat 查看每個(gè)commit里具體都修改了啥, 哪個(gè)文件改動(dòng)了,添加或者刪掉了多少行
    git log -p 查看每個(gè)commit里具體是哪個(gè)文件,第幾行改動(dòng)了,會(huì)提示某個(gè)文件的第幾行到第幾行被刪掉了忽匈,多少行是加上的,并顯示這些修改過的內(nèi)容
    git log -p XXXXXXX 顯示SHA碼前7位為XXXXXXX的commit矿辽,及其之后的commit
    git show XXXXXXX只顯示一個(gè)commit的信息

  2. 把別人的庫(Repository) fork 過來丹允,在本地修改調(diào)整之后add, commit, pull request,然后等別人merge你的修改
    中文參考

git clone XXXX.git
cd tmap/
copy這個(gè)web URL

在本地一頓操作修改代碼袋倔,然后add,commit

git add .
git commit -m "fixed blablablabla" # 可以是很短幾句話

git log # 看一下是不是加上去了
commit XXXXXXXXXXXXXXX 
Author: XXXX <XXXXXXXXXXXX>
Date:   Fri Jan 17 13:34:43 2020 +0800

    fixed blablablabla

push上去

git push origin master
# 按照指示輸入你github的用戶名及密碼
Username for 'https://github.com': XXX
Password for 'https://XXX@github.com': 
Counting objects: 8, done.  #比方說你改了8個(gè)地方
Delta compression using up to 8 threads.
Compressing objects: 100% (8/8), done.
Writing objects: 100% (8/8), 869 bytes | 0 bytes/s, done.
Total 8 (delta 6), reused 0 (delta 0)
remote: Resolving deltas: 100% (6/6), completed with 6 local objects.
To https://github.com/XXX/tmap.git
   XXXXXXXX  master -> master

然后去你自己github的主頁雕蔽,看到你已經(jīng)Fork了的項(xiàng)目:

然后點(diǎn)pull request,再補(bǔ)充一些說明的文字就好了宾娜。

這里已經(jīng)點(diǎn)了
  1. git status
# 比方說這時(shí)候你在本地改了代碼萎羔,還沒有add,
git status
On branch master
Your branch is up-to-date with 'origin/master'.
Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git checkout -- <file>..." to discard changes in working directory)

    modified:   XXXX.py
    modified:   XXXXXXXXXX.py
    modified:   XX.py

no changes added to commit (use "git add" and/or "git commit -a")
# 這是在提醒你你改了還沒add不能commit,趕緊去add
  1. git branch
    查看本地分支
  2. (markdown) 在README.md中加入checkbox和emoji =_=


參考https://github.com/ikatyang/emoji-cheat-sheet/blob/master/README.md

  1. 建私倉
  1. 在本地建local branch, remote碳默,然后merge到master上
    merge branch into master
  • 先看一下自己有什么branch
    $ git branch
  • 在新建一個(gè)branch之前贾陷,先確定本地的master是up-to-date
    git pull
  • 新建并激活你的本地branch
    git checkout -b cs_shuffle # branch 名字叫cs_shuffle
    這時(shí)候應(yīng)該已經(jīng)在cs_shuffle這個(gè)branch里面了
    這時(shí)候再git branch可以看到cs_shuffle了
  • 然后在本地修改代碼,一頓操作
    ... ...
  • add, commit
    $ git add –A
    $ git commit –m "Some commit message"
  • 回到master下
    git checkout master
  • merge到master
    git merge cs_shuffle
  • 把branch推到remote: public a local branch
    git push origin master
  1. 撤回一個(gè)commit (undo the last commit)
    git reset --soft HEAD~1
    這里--soft表示把commit移到stage indexing區(qū)域中去了嘱根,需要重新commit的話再commit就好了髓废。 HEAD~1表示把head指針往前移動(dòng)了一格,即移動(dòng)到前一個(gè)commit的位置该抒。
    --mixed表示移動(dòng)到working directory(你需要再add一遍)慌洪,--hard表示直接刪掉

  2. .gitignore
    在這里輸入不想納入add或者commit(即不想track)的文件,后面即使git add .也不會(huì)納入它

  3. 顯示所有的branch(哇太炫了
    git log --oneline --graph --decorate --all

  4. 合并沖突 merge conflict
    當(dāng)兩個(gè)branch, 在同一行都有修改凑保,就會(huì)出現(xiàn)merge conflict
    在出現(xiàn)沖突的時(shí)候冈爹,要檢查一下你要保留哪個(gè)修改∨芬可以在沖突的文件中搜索“>>>>”,以定位到?jīng)_突的位置频伤,修改后再add,commit就好了

  5. git revert SHA
    把某個(gè)commit給撤回,同時(shí)新建一個(gè)commit說明這個(gè)撤回情況

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末芝此,一起剝皮案震驚了整個(gè)濱河市憋肖,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌婚苹,老刑警劉巖岸更,帶你破解...
    沈念sama閱讀 206,839評(píng)論 6 482
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異膊升,居然都是意外死亡怎炊,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,543評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來评肆,“玉大人赞咙,你說我怎么就攤上這事≡愀郏” “怎么了?”我有些...
    開封第一講書人閱讀 153,116評(píng)論 0 344
  • 文/不壞的土叔 我叫張陵院仿,是天一觀的道長秸抚。 經(jīng)常有香客問我,道長歹垫,這世上最難降的妖魔是什么剥汤? 我笑而不...
    開封第一講書人閱讀 55,371評(píng)論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮排惨,結(jié)果婚禮上吭敢,老公的妹妹穿的比我還像新娘。我一直安慰自己暮芭,他們只是感情好鹿驼,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,384評(píng)論 5 374
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著辕宏,像睡著了一般畜晰。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上瑞筐,一...
    開封第一講書人閱讀 49,111評(píng)論 1 285
  • 那天凄鼻,我揣著相機(jī)與錄音,去河邊找鬼聚假。 笑死块蚌,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的膘格。 我是一名探鬼主播峭范,決...
    沈念sama閱讀 38,416評(píng)論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼瘪贱!你這毒婦竟也來了虎敦?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,053評(píng)論 0 259
  • 序言:老撾萬榮一對情侶失蹤政敢,失蹤者是張志新(化名)和其女友劉穎其徙,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體喷户,經(jīng)...
    沈念sama閱讀 43,558評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡唾那,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,007評(píng)論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片闹获。...
    茶點(diǎn)故事閱讀 38,117評(píng)論 1 334
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡期犬,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出避诽,到底是詐尸還是另有隱情龟虎,我是刑警寧澤,帶...
    沈念sama閱讀 33,756評(píng)論 4 324
  • 正文 年R本政府宣布沙庐,位于F島的核電站鲤妥,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏拱雏。R本人自食惡果不足惜棉安,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,324評(píng)論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望铸抑。 院中可真熱鬧贡耽,春花似錦、人聲如沸鹊汛。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,315評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽刁憋。三九已至凳宙,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間职祷,已是汗流浹背氏涩。 一陣腳步聲響...
    開封第一講書人閱讀 31,539評(píng)論 1 262
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留有梆,地道東北人是尖。 一個(gè)月前我還...
    沈念sama閱讀 45,578評(píng)論 2 355
  • 正文 我出身青樓,卻偏偏與公主長得像泥耀,于是被迫代替她去往敵國和親饺汹。 傳聞我的和親對象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,877評(píng)論 2 345

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