git 命令筆記

-----------------------------------------------本地-----------------------------------------------

git config --global user.name "Your Name" ? ? ? ? ? ?【配置你的github用戶名】

git config --global user.email "email@example.com" ? 【配置你的github郵箱】

git config --global color.ui true ? ? ? ?【提示高亮】

git config --global alias.st status ? ? 【簡化命令】

mkdir mygit ?【新建一個文件】

cd mygit ? ? 【去到當前文件】

git init ? ? 【創(chuàng)建一個版本庫】

git add one.txt ? ? ? ? ? 【創(chuàng)立一個工作區(qū); (空格之間添加多個文件)】--all

git commit -m"描述文字" ? 【提交到版本庫+版本信息】

git remote add origin git@github.com:you/you.git 【新建并提交到一個自己的遠程庫】

git status ? ? ? ? ? ? ? ?【檢查文件是否被修改過】

git diff ? ? ? ? ? ? ? ? ? ? 【查看被修改過內容】

git log ? ? ? ? ? ? ? ? ? ?【查看提交日志】

git reflog ? ? ? ? ? ? ? ?【查看所有編寫過的命令】

git reset --hard HEAD^ ? ?【返回上一個版本】

git reset --hard (版本id) 【穿梭】

cat xxx.txt ? ? ? ? ? ? ? ? ? ? ?【查看文件內容】

vi ?xxx.txt ? ? ? ? ? ? ? ? ? ? ? 【編輯】

wq ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 【退出】

git checkout -- 文件名 ? ?【撤銷修改】

git checkout . 【恢復上一個commit的所有文件到工作區(qū)】

【刪除commit】

git reset --hard~2

git push --force

【修改commit信息】(還沒push的情況)

git commit --amend -m "xxxxxx"

gitignore規(guī)則不生效的解決辦法

【刪除本地緩存】

git rm -r --cached .?

git add .

git commit -m 'update .gitignore'

-----------------------------------------------github-----------------------------------------------

ssh-keygen -t rsa -C "729494296@qq.com" ? ? ? ? ? ? ? ? ? ? ? 【創(chuàng)建遠程倉庫秘鑰】

創(chuàng)建完后會有.shh文件夾,里面有id_rsa和id_rsa.pub這兩個文件

id_rsa是公開的公鑰,id_rsa.pub是自己的秘鑰

打開id_rsa.pub 復制全部內容

登陸github.com 在SSH Keys里的 填上title和key

在本地輸入

git remote add origin git@github.com:zhenbinjing/(項目名).git 【建立鏈接通信】

git push -u origin master ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 【將本地的所有文件上傳上去制跟。 第一次要加 -u】

git push origin master ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?【以后有新文件直接上傳。不加-u了 (推送分支)】

當你第一次使用Git的clone或者push命令連接GitHub時句惯,會得到一個警告:

The authenticity of host 'github.com (xx.xx.xx.xx)' can't be established.

RSA key fingerprint is xx.xx.xx.xx.xx.

Are you sure you want to continue connecting (yes/no)?

輸入yes 就可以了

git clone git@github.com:zhenbinjing/(項目名).git ? ? ? ? ?【從遠程復制到本地】

當下載的文件過大的時候會報錯镐捧,這時就要設置文件大小

error: unable to rewind rpc post data - try increasing http.postBuffer

error: RPC failed;curl 56 Recv failure: Connection reset by peer

fatal: The remote end hung up unexpectedly

fatal: The remote end hung up unexpectedly

git config --global http.postBuffer 524288000

-----------------------------------------------分支-----------------------------------------------

master分支一般不干活的,主要用來發(fā)布版本的循诉,所以我們開發(fā)的時候會新建一個分支横辆,專門去寫代碼的,分支可以用來區(qū)分不同類型的代碼茄猫,例如增加新功能的狈蚤,有bug的,等等

git checkout -b xxx ? ?【創(chuàng)建并且切換到當前分支中】

git branch xxx ? ? ? ? ? ?【查看當前分支】

git checkout xxx ? ? ? ?【切換分支】

git merge xxx ? ? ? ? ? ?【當前分支與xxx分支合并】

git branch -d xxx ? ? ? 【刪除本地xxx分支】

git push origin --delete xxx【刪除遠程xxx分支】

分支與主分支合并沖突的時候划纽,文件有<<<<<<<脆侮,=======,>>>>>>>標記出不同分支的內容勇劣,要手動去更改文件靖避,然后add commit

git log --graph ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 【查看分支合并圖(詳細)】

git log --graph --pretty=oneline --abbrev-commit ?【查看分支合并圖(精簡)】

git默認是Fast forward模式,在主干上合并分支比默,如果刪除dev分支,是看不見dev分支上的commit,會丟掉分支信息的幻捏。

git merge --no-ff -m "merge with no-ff" dev ? ? ? ? ?【不在Fast forward情況下,進行與dev分支合并退敦,并(保留dev下的commit)寫入信息】--no-ff

git merge --squash dev ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?【當前分支把dev分支上的所有commit 歸納到一個commit描述】

git stash ? ? ? ? ? ? ? ? 【保存當前工作區(qū)的內容】

git stash list ? ? ? ? ? 【查看工作區(qū)保存的地方】

git stash apply ? ? ? 【恢復工作區(qū)內容】

git stash drop ? ? ? ?【刪除工作區(qū)】

git stash pop ? ? ? ? 【恢復工作區(qū)內容后同時刪除工作區(qū)】

git stash pop = git stash apply + git stash drop

-----------------------------------------------多人協(xié)作-----------------------------------------------

git remote ? ? ? ? ? ?【查看遠程庫的信息(遠程倉庫的默認名稱是origin)】

git remote -v ? ? ? ? 【查看遠程庫更詳細的信息(是否有推送的權限)】

git push origin xxx ? 【推送xxx分支】

【這是在別人的項目中】

一般在別人的項目下載下來后只能看到本地的master分支粘咖,所以我們要創(chuàng)建一個自己的分支。例如:

git checkout -b dev origin/dev

寫完后(add commit)?

git push origin dev

【這是在自己的項目中】

自己開發(fā)完成后侈百,發(fā)現(xiàn)提交沖突了瓮下,會有好多hint信息,例如:

hint: Updates were rejected because the tip of your current branch is behind

hint: its remote counterpart. Merge the remote changes (e.g. 'git pull')

hint: before pushing again.

hint: See the 'Note about fast-forwards' in 'git push --help' for details.

推送失敹塾颉:是因為貢獻者比你提交早讽坏,又在同一行代碼上有沖突。

第一步:

git pull 【把最新的提交從(別人的分支)抓下來】

如果抓取也失敗了例证,是因為貢獻者建立了他的分支路呜,而你本地又沒有這個分支

如果你不知道別人的分支路徑,git是會告訴你,例如其中兩行和最后一行织咧,例如:

From github.com:michaelliao/learngit

fc38031..291bea8 ?dev ? ? ? ?-> origin/dev

git branch --set-upstream dev origin/

那行我們在本地建立對應的分支就可以了胀葱,例如:

git branch --set-upstream dev origin/dev

然后再 git pull 就可以看到?jīng)_突的文件了。?

Auto-merging 文件名

CONFLICT (content): Merge conflict in 文件名

Automatic merge failed; fix conflicts and then commit the result.

這是已經(jīng)pull 成功了

第二步:

修改沖突的文件笙蒙,然后(add commit)

git push origin dev?

這時應該可以推送成功了

-----------------------------------------------tag-----------------------------------------------

git tag ? ? ? ? 【創(chuàng)建標簽】

git tag 標簽名 版本號 ?例如:

git tag v1.0 af1684d

git tag -d xxx ?【刪除標簽xxx】

git tag -d v1.0

git show v1.0 ? 【查看v1.0對應的版本號等信息】

創(chuàng)建帶有說明的標簽抵屿,用-a指定標簽名,-m指定說明文字,例如:

git tag -a v0.1 -m "version 0.1 released" af1684d

git push origin v1.0 ?【推送一個標簽】

git push origin --tags 【推送所有標簽】

【刪除遠程標簽】

首先要在本地刪除標簽捅位,然后再push

git tag -d v0.9

git push origin :refs/tags/v0.9

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末轧葛,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子艇搀,更是在濱河造成了極大的恐慌尿扯,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,214評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件焰雕,死亡現(xiàn)場離奇詭異衷笋,居然都是意外死亡,警方通過查閱死者的電腦和手機矩屁,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,307評論 2 382
  • 文/潘曉璐 我一進店門辟宗,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人档插,你說我怎么就攤上這事慢蜓。” “怎么了郭膛?”我有些...
    開封第一講書人閱讀 152,543評論 0 341
  • 文/不壞的土叔 我叫張陵晨抡,是天一觀的道長。 經(jīng)常有香客問我则剃,道長耘柱,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,221評論 1 279
  • 正文 為了忘掉前任棍现,我火速辦了婚禮调煎,結果婚禮上,老公的妹妹穿的比我還像新娘己肮。我一直安慰自己士袄,他們只是感情好悲关,可當我...
    茶點故事閱讀 64,224評論 5 371
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著娄柳,像睡著了一般寓辱。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上赤拒,一...
    開封第一講書人閱讀 49,007評論 1 284
  • 那天秫筏,我揣著相機與錄音,去河邊找鬼挎挖。 笑死这敬,一個胖子當著我的面吹牛,可吹牛的內容都是我干的蕉朵。 我是一名探鬼主播崔涂,決...
    沈念sama閱讀 38,313評論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼墓造!你這毒婦竟也來了堪伍?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 36,956評論 0 259
  • 序言:老撾萬榮一對情侶失蹤觅闽,失蹤者是張志新(化名)和其女友劉穎帝雇,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體蛉拙,經(jīng)...
    沈念sama閱讀 43,441評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡尸闸,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 35,925評論 2 323
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了孕锄。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片吮廉。...
    茶點故事閱讀 38,018評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖畸肆,靈堂內的尸體忽然破棺而出宦芦,到底是詐尸還是另有隱情,我是刑警寧澤轴脐,帶...
    沈念sama閱讀 33,685評論 4 322
  • 正文 年R本政府宣布调卑,位于F島的核電站,受9級特大地震影響大咱,放射性物質發(fā)生泄漏恬涧。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,234評論 3 307
  • 文/蒙蒙 一碴巾、第九天 我趴在偏房一處隱蔽的房頂上張望溯捆。 院中可真熱鬧,春花似錦厦瓢、人聲如沸提揍。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,240評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽碳锈。三九已至顽冶,卻和暖如春欺抗,著一層夾襖步出監(jiān)牢的瞬間售碳,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,464評論 1 261
  • 我被黑心中介騙來泰國打工绞呈, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留贸人,地道東北人。 一個月前我還...
    沈念sama閱讀 45,467評論 2 352
  • 正文 我出身青樓佃声,卻偏偏與公主長得像艺智,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子圾亏,可洞房花燭夜當晚...
    茶點故事閱讀 42,762評論 2 345

推薦閱讀更多精彩內容

  • git branch 查看本地所有分支 git status 查看當前狀態(tài) git commit 提交 git b...
    猿萬閱讀 5,029評論 1 45
  • 1十拣,查看所有遠程分支:%git branch -r 2, 拉取遠程分支并創(chuàng)建本地分支git checkout -...
    will666閱讀 2,055評論 0 18
  • git常用命令 GIT常用命令備忘:http://stormzhang.com/git/2014/01/27/gi...
    新篇章閱讀 8,456評論 1 26
  • 1. 安裝 Github 查看是否安裝git: $ git config --global user.name "...
    Albert_Sun閱讀 13,631評論 9 163
  • 生了孩子后曹铃,突然覺得和老公之間的矛盾越來越多缰趋。孩子生病了,是你照顧的不好陕见,孩子磕碰了秘血,是你看的不好。 生了孩子后评甜,...
    在諫閱讀 137評論 0 0