標籤:

煩人的Git 終於學會了 ?︵?

終於會用Git了 (?? . ??),原文地址:煩人的Git ( ′?︵?` )

Git對於新手來說,真的很煩人哎,好在找到了好工具 —— PyCharm

使用PyCharm進行代碼管理

在VCS里有Git,裡面有常用的操作,clone、pull、push等等。

更方便的是,在左下角,有Version Control,可以清晰的看到日誌改變,圖中另一個標記的位置可以直接進行commit,如下圖所示

更多參考官方文檔 Enabling Version Control

我修改了主題,可以在這裡改 Material Theme UI

emmm,簡單的方法就是這樣,還是需要了解下Git的基本操作的

創建新倉庫

創建新文件夾,打開,然後執行

git init

以創建新的 git 倉庫。

或者按照官方推薦的例子

git clone git@github.com:zhangslob/test_test.gitnecho "# test_test" >> README.mdngit initngit add README.mdngit commit -m "first commit"ngit remote add origin git@github.com:zhangslob/test_test.gitngit push -u origin masternn# 其中的命令下面會講到n

克隆倉庫

執行如下命令以創建一個本地倉庫的克隆版本:

git clone /path/to/repository

如果是遠端伺服器上的倉庫,你的命令會是這個樣子:

git clone username@host:/path/to/repository

添加和提交

你可以提出更改(把它們添加到暫存區),使用如下命令:

git add .

這是 git 基本工作流程的第一步;使用如下命令以實際提交改動:

git commit -m "代碼提交信息"

現在,你的改動已經提交到了 HEAD,但是還沒到你的遠端倉庫。

推送改動

你的改動現在已經在本地倉庫的 HEAD 中了。執行如下命令以將這些改動提交到遠端倉庫:

git push origin master

可以把 master 換成你想要推送的任何分支。

分支

分支是用來將特性開發絕緣開來的。在你創建倉庫的時候,master 是「默認的」分支。在其他分支上進行開發,完成後再將它們合併到主分支上。

創建一個叫做「develop」的分支,並切換過去:

git checkout -b develop

切換回主分支:

git checkout master

再把新建的分支刪掉:

git branch -d develop

除非你將分支推送到遠端倉庫,不然該分支就是 不為他人所見的:

git push origin <branch>

更新與合併

要更新你的本地倉庫至最新改動,執行:

git pull

以在你的工作目錄中 獲取(fetch) 並 合併(merge) 遠端的改動。

要合併其他分支到你的當前分支(例如 master),執行:

git merge <branch>

在這兩種情況下,git 都會嘗試去自動合併改動。遺憾的是,這可能並非每次都成功,並可能出現衝突(conflicts)。 這時候就需要你修改這些文件來手動合併這些衝突(conflicts)。改完之後,你需要執行如下命令以將它們標記為合併成功:

git add <filename>

在合併改動之前,你可以使用如下命令預覽差異:

git diff <source_branch> <target_branch>

替換本地改動

假如你操作失誤,你可以使用如下命令替換掉本地改動:

git checkout -- <filename>

此命令會使用 HEAD 中的最新內容替換掉你的工作目錄中的文件。已添加到暫存區的改動以及新文件都不會受到影響。

假如你想丟棄你在本地的所有改動與提交,可以到伺服器上獲取最新的版本歷史,並將你本地主分支指向它:

git fetch origin

git reset --hard origin/master

小技巧

  1. 使用 git status 可以迅速查看當前狀態,若添加文件,會顯示綠色的文字
  2. 使用Github的客戶端,可以事半功倍 desktop.github.com/

更多可以參考

Git 文檔

Git Commit Message 模版

模版命名約定

模版名稱由以下部分組成

gitmessage-${語言}[-full]

-full 結尾的模版包含了 message 組成區域的解釋以及書寫的指導,推薦新手選擇該模版上手,在熟悉書寫規範後換成簡單版本。

# feat (新功能)

# fix (問題修復)

# refactor (代碼重構)

# style (代碼風格改動、格式變化等,無實現改動)

# docs (文檔更新)

# test (增加、重構測試,無實現改動)

# chore (修改一些配置文件如 .gitignore 等,無實現改動)

感興趣可以來關注我的公眾號:zhangslob

推薦閱讀:

使用PyCharm時無法啟動控制台?
Ubuntu11.04中如何將pycharm添加到系統的「應用程序」菜單里 (pycharm已成功安裝)
pycharm 如何調整字體大小?
pycharm安裝numpy報錯,怎麼辦?

TAG:Git | PyCharm |