Git的相關事宜

Git 常用命令速查表

PDF 版本下載 / PNG圖片下載


創建版本庫

  • $ git clone <url> #克隆遠程版本庫
  • $ git init #初始化本地版本庫

修改和提交

  • $ git status #查看狀態
  • $ git diff #查看變更內容
  • $ git add . #跟蹤所有改動過的文件
  • $ 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 #撤消工作目錄中所有未提交文件的修改內容
  • $ git checkout HEAD <file> #撤消指定的未提交文件的修改內容
  • $ git revert <commit> #撤消指定的提交

分支與標簽

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

合并與衍合

  • $ git merge <branch> #合并指定分支到當前分支
  • $ git rebase <branch> #衍合指定分支到當前分支

遠程操作

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

復制版本庫

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

1). 從原地址克隆一份裸版本庫,當然你也可以把托管于其它 git 服務器上的版本庫克隆下來。

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

2). 然后到 GitCafe 服務器上創建一個新項目

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

cd project.git

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

4). 刪除本地代碼

cd ..

rm -rf project.git

派生項目與上游代碼庫保持同步

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

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

# upstream 表示上游代碼庫名稱

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

3). 在每次 Pull Request 前做如下操作,即可實現和上游版本庫的同步。

git remote update upstream

git rebase upstream/master

# 如果不是 master 分支,請把 master 改為相應的分支名,
同時在 rebase 前用 git checkout 命令切換到相應的本地分支

4). Push 代碼到 GitCafe

git push

參考:ProGit-分支的衍合

HTTP Errors

如果你在使用 HTTP 協議進行 Git 操作的時候出現錯誤提示:

  • 401 錯誤:

    $ 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 錯誤:

    $ 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

有以下幾個可能性:

  1. Git 版本過低。GitCafe 推薦使用的 Git 版本是 >= 1.7,請參考這里獲取最新版本。

    $ git --version
    git version 1.8.2.1

  2. 遠程倉庫路徑設置錯誤。注意,GitCafe 對于路徑的識別是大小寫敏感的。

    查看已有的遠程倉庫:

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

    設置新的遠程倉庫路徑:

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

    查看新的遠程倉庫路徑:

     $ git remote -v
     origin  https://gitcafe.com/GitCafe/Help.git (fetch)
     origin  https://gitcafe.com/GitCafe/Help.git (push)
    
  3. 對該倉庫沒有訪問權限。檢查你是否對目標倉庫有相應的讀寫權限。

  4. 輸入了錯誤的用戶名和密碼。檢查你是否使用了對該倉庫有寫權限的正確的賬戶名稱和密碼,檢查是否對所有你名下的倉庫均不能訪問。

Git 相關問題


來自GitCafe

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

推薦閱讀更多精彩內容