Git的相關(guān)事宜

Git 常用命令速查表

PDF 版本下載 / PNG圖片下載


創(chuàng)建版本庫(kù)

  • $ git clone <url> #克隆遠(yuǎn)程版本庫(kù)
  • $ git init #初始化本地版本庫(kù)

修改和提交

  • $ git status #查看狀態(tài)
  • $ git diff #查看變更內(nèi)容
  • $ git add . #跟蹤所有改動(dòng)過的文件
  • $ git add <file> #跟蹤指定的文件
  • $ git mv <old> <new> #文件改名
  • $ git rm <file> #刪除文件
  • $ git rm --cached <file> #停止跟蹤文件但不刪除
  • $ git commit -m “commit message” #提交所有更新過的文件
  • $ git commit --amend #修改最后一次提交

查看提交歷史

  • $ git log #查看提交歷史

  • $ git log -p <file> #查看指定文件的提交歷史

  • $ git blame <file> #以列表方式查看指定文件的提交歷史

撤消

  • $ git reset --hard HEAD #撤消工作目錄中所有未提交文件的修改內(nèi)容
  • $ git checkout HEAD <file> #撤消指定的未提交文件的修改內(nèi)容
  • $ git revert <commit> #撤消指定的提交

分支與標(biāo)簽

  • $ git branch #顯示所有本地分支
  • $ git checkout <branch/tag> #切換到指定分支或標(biāo)簽
  • $ git branch <new-branch> #創(chuàng)建新分支
  • $ git branch -d <branch> #刪除本地分支
  • $ git tag #列出所有本地標(biāo)簽
  • $ git tag <tagname> #基于最新提交創(chuàng)建標(biāo)簽
  • $ git tag -d <tagname> #刪除標(biāo)簽

合并與衍合

  • $ git merge <branch> #合并指定分支到當(dāng)前分支
  • $ git rebase <branch> #衍合指定分支到當(dāng)前分支

遠(yuǎn)程操作

  • $ git remote -v #查看遠(yuǎn)程版本庫(kù)信息
  • $ git remote show <remote> #查看指定遠(yuǎn)程版本庫(kù)信息
  • $ git remote add <remote> <url> #添加遠(yuǎn)程版本庫(kù)
  • $ git fetch <remote> #從遠(yuǎn)程庫(kù)獲取代碼
  • $ git pull <remote> <branch> #下載代碼及快速合并
  • $ git push <remote> <branch> #上傳代碼及快速合并
  • $ git push <remote> :<branch/tag-name> #刪除遠(yuǎn)程分支或標(biāo)簽
  • $ git push --tags #上傳所有標(biāo)簽

復(fù)制版本庫(kù)

如果你不想派生項(xiàng)目划乖,而只是想復(fù)制一份相同的源代碼,或者想從別的 Git 托管服務(wù)那里復(fù)制一份源代碼到 GitCafe 上的話,可以通過以下步驟來操作铸董。

1). 從原地址克隆一份裸版本庫(kù)养交,當(dāng)然你也可以把托管于其它 git 服務(wù)器上的版本庫(kù)克隆下來伺糠。

git clone --bare git://gitcafe.com/username/project.git

2). 然后到 GitCafe 服務(wù)器上創(chuàng)建一個(gè)新項(xiàng)目伦泥。

3). 以鏡像推送的方式上傳代碼到 GitCafe 服務(wù)器上蹬耘。

cd project.git

git push --mirror git@gitcafe.com/username/newproject.git

4). 刪除本地代碼

cd ..

rm -rf project.git

派生項(xiàng)目與上游代碼庫(kù)保持同步

1). 在 Fork 的代碼庫(kù)中添加上游代碼庫(kù)的 remote 源芝雪,(操作一次就可以,以后不必每次添加)

git remote add upstream git://gitcafe.com/username/upstream

# upstream 表示上游代碼庫(kù)名稱

2). 本地修改和提交 (commit)

3). 在每次 Pull Request 前做如下操作综苔,即可實(shí)現(xiàn)和上游版本庫(kù)的同步惩系。

git remote update upstream

git rebase upstream/master

# 如果不是 master 分支,請(qǐng)把 master 改為相應(yīng)的分支名如筛,
同時(shí)在 rebase 前用 git checkout 命令切換到相應(yīng)的本地分支

4). Push 代碼到 GitCafe

git push

參考:ProGit-分支的衍合

HTTP Errors

如果你在使用 HTTP 協(xié)議進(jìn)行 Git 操作的時(shí)候出現(xiàn)錯(cuò)誤提示:

  • 401 錯(cuò)誤:

    $ git push origin master
    error: RPC failed; result=22, HTTP code = 401
    fatal: The remote end hung up unexpectedly
    fatal: The remote end hung up unexpectedly
    Everything up-to-date

  • 403 錯(cuò)誤:

    $ git push origin master
    error: RPC failed; result=22, HTTP code = 401
    fatal: The remote end hung up unexpectedly
    fatal: The remote end hung up unexpectedly
    Everything up-to-date

有以下幾個(gè)可能性:

  1. Git 版本過低堡牡。GitCafe 推薦使用的 Git 版本是 >= 1.7,請(qǐng)參考這里獲取最新版本杨刨。

    $ git --version
    git version 1.8.2.1

  2. 遠(yuǎn)程倉(cāng)庫(kù)路徑設(shè)置錯(cuò)誤晤柄。注意,GitCafe 對(duì)于路徑的識(shí)別是大小寫敏感的拭嫁。

    查看已有的遠(yuǎn)程倉(cāng)庫(kù):

     $ git remote -v
     origin  https://gitcafe.com/GitCafe/help.git (fetch)
     origin  https://gitcafe.com/GitCafe/help.git (push)
    

    設(shè)置新的遠(yuǎn)程倉(cāng)庫(kù)路徑:

     $ git remote set-url origin https://gitcafe.com/GitCafe/Help.git
    

    查看新的遠(yuǎn)程倉(cāng)庫(kù)路徑:

     $ git remote -v
     origin  https://gitcafe.com/GitCafe/Help.git (fetch)
     origin  https://gitcafe.com/GitCafe/Help.git (push)
    
  3. 對(duì)該倉(cāng)庫(kù)沒有訪問權(quán)限可免。檢查你是否對(duì)目標(biāo)倉(cāng)庫(kù)有相應(yīng)的讀寫權(quán)限。

  4. 輸入了錯(cuò)誤的用戶名和密碼做粤。檢查你是否使用了對(duì)該倉(cāng)庫(kù)有寫權(quán)限的正確的賬戶名稱和密碼浇借,檢查是否對(duì)所有你名下的倉(cāng)庫(kù)均不能訪問。

Git 相關(guān)問題


來自GitCafe

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末怕品,一起剝皮案震驚了整個(gè)濱河市妇垢,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌肉康,老刑警劉巖闯估,帶你破解...
    沈念sama閱讀 216,496評(píng)論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異吼和,居然都是意外死亡涨薪,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,407評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門炫乓,熙熙樓的掌柜王于貴愁眉苦臉地迎上來刚夺,“玉大人献丑,你說我怎么就攤上這事∠拦茫” “怎么了创橄?”我有些...
    開封第一講書人閱讀 162,632評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)莽红。 經(jīng)常有香客問我妥畏,道長(zhǎng),這世上最難降的妖魔是什么安吁? 我笑而不...
    開封第一講書人閱讀 58,180評(píng)論 1 292
  • 正文 為了忘掉前任醉蚁,我火速辦了婚禮,結(jié)果婚禮上鬼店,老公的妹妹穿的比我還像新娘馍管。我一直安慰自己,他們只是感情好薪韩,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,198評(píng)論 6 388
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著捌锭,像睡著了一般俘陷。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上观谦,一...
    開封第一講書人閱讀 51,165評(píng)論 1 299
  • 那天拉盾,我揣著相機(jī)與錄音,去河邊找鬼豁状。 笑死捉偏,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的泻红。 我是一名探鬼主播夭禽,決...
    沈念sama閱讀 40,052評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼谊路!你這毒婦竟也來了讹躯?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,910評(píng)論 0 274
  • 序言:老撾萬榮一對(duì)情侶失蹤缠劝,失蹤者是張志新(化名)和其女友劉穎潮梯,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體惨恭,經(jīng)...
    沈念sama閱讀 45,324評(píng)論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡秉馏,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,542評(píng)論 2 332
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了脱羡。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片萝究。...
    茶點(diǎn)故事閱讀 39,711評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡免都,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出糊肤,到底是詐尸還是另有隱情琴昆,我是刑警寧澤,帶...
    沈念sama閱讀 35,424評(píng)論 5 343
  • 正文 年R本政府宣布馆揉,位于F島的核電站业舍,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏升酣。R本人自食惡果不足惜舷暮,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,017評(píng)論 3 326
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望噩茄。 院中可真熱鬧下面,春花似錦、人聲如沸绩聘。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,668評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)凿菩。三九已至机杜,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間衅谷,已是汗流浹背椒拗。 一陣腳步聲響...
    開封第一講書人閱讀 32,823評(píng)論 1 269
  • 我被黑心中介騙來泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留获黔,地道東北人蚀苛。 一個(gè)月前我還...
    沈念sama閱讀 47,722評(píng)論 2 368
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像玷氏,于是被迫代替她去往敵國(guó)和親堵未。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,611評(píng)論 2 353

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