git的一些操作

筆記內容:
基本的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: 一個很general的項目情況,比方說你在哪個branch上,有沒有commit(或者是否up to date到你clone過來的那個repo)
    git log: 看到每個commit的編碼SHA,一個short description, 還有關于commit的時間和作者。如果想只看編碼前幾位和description,則git log --oneline
    git log --stat 查看每個commit里具體都修改了啥, 哪個文件改動了,添加或者刪掉了多少行
    git log -p 查看每個commit里具體是哪個文件,第幾行改動了,會提示某個文件的第幾行到第幾行被刪掉了,多少行是加上的,并顯示這些修改過的內容
    git log -p XXXXXXX 顯示SHA碼前7位為XXXXXXX的commit,及其之后的commit
    git show XXXXXXX只顯示一個commit的信息

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

git clone XXXX.git
cd tmap/
copy這個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個地方
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的主頁,看到你已經Fork了的項目:

然后點pull request,再補充一些說明的文字就好了。

這里已經點了
  1. git status
# 比方說這時候你在本地改了代碼,還沒有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
  • 在新建一個branch之前,先確定本地的master是up-to-date
    git pull
  • 新建并激活你的本地branch
    git checkout -b cs_shuffle # branch 名字叫cs_shuffle
    這時候應該已經在cs_shuffle這個branch里面了
    這時候再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. 撤回一個commit (undo the last commit)
    git reset --soft HEAD~1
    這里--soft表示把commit移到stage indexing區域中去了,需要重新commit的話再commit就好了。 HEAD~1表示把head指針往前移動了一格,即移動到前一個commit的位置。
    --mixed表示移動到working directory(你需要再add一遍),--hard表示直接刪掉

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

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

  4. 合并沖突 merge conflict
    當兩個branch, 在同一行都有修改,就會出現merge conflict
    在出現沖突的時候,要檢查一下你要保留哪個修改。可以在沖突的文件中搜索“>>>>”,以定位到沖突的位置,修改后再add,commit就好了

  5. git revert SHA
    把某個commit給撤回,同時新建一個commit說明這個撤回情況

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 228,197評論 6 531
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 98,415評論 3 415
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 176,104評論 0 373
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 62,884評論 1 309
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 71,647評論 6 408
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 55,130評論 1 323
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,208評論 3 441
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,366評論 0 288
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 48,887評論 1 334
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 40,737評論 3 354
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 42,939評論 1 369
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,478評論 5 358
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,174評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,586評論 0 26
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,827評論 1 283
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,608評論 3 390
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 47,914評論 2 372

推薦閱讀更多精彩內容