經過pycharm使用git[圖文詳解]

前言

使用git+pycharm有一段時間了,算是稍有點心得,這邊整理一下,可能有的方法不是最優,歡迎交流,可能仍是習慣敲命令去使用git,不過其實pycharm已經幫忙作了不少了,咱們能夠不用記住那麼多的命令的。html

經過pycharm初始化git環境

由於以前內網搭建了gitlab,參考此文章centos6搭建gitlab,因此能夠經過gitlab很方便的建立一個project,我這邊從無到有,先從gitlab上checkout一個倉庫,這個項目以前已經從gitlab上建立了


checkout以後,可能pycharm識別不到,這時候這樣enable一下

在本地新建一個文件,注意創建完是紅色的,表示還未添加,add以後是綠色的,作過修改是藍色的,忽略的文件是灰色的


add以後變成綠色

也能夠不用add,直接commit 整個目錄

以後選擇commit and push 就提交上去了

過程當中會很明確的,這裏是從本地的master上傳到origin遠端的master上

push以後在gitlab上就能夠看到了
python

分支操做

默認初始化完的工程會有一個master分支,咱們通常在dev分支上開發,以後測試沒問題再合併到master上,如今就新建一個dev分支
在pycharm的右下角有git的相關分支信息(前提是用了git),能夠看到當前只有一個master分支(本地和origin)

從origin master checkout一個分支到本地命名爲dev

新建分支後能夠看到current分支變爲dev

注意,這個dev實際是本地的,origin並無dev分支,不信到gitlab上看
經過右下角的checkout能夠自如的在dev和master分支上切換
通常狀況下就在本地的dev上開發便可,開發完就能夠刪掉這個本地dev分支了,若是想在origin上也建立一個dev分支,須要commit一下

默認是把本地的dev傳給origin master上

修改一下,改爲dev,注意那裏變成加號了+dev

ok,push以後到gitlab上看一眼吧。已經有了dev分支了
git

merge分支

由於平時開發在dev中,開發完畢後須要把它合併到master上
咱們能夠先到dev下更新一些東西,而後commit上去(origin dev),個人習慣是若是項目較小,能夠不用origin dev,本地的dev只是一個臨時的分支,合併到master後就能夠刪掉,不用上傳到origin dev.
以後checkout到本地的master上,dev新增的東西是看不到的,在master上去merge dev

merge以後,會發現,剛纔dev更新的東西,master也更新了,以後提交到origin master,merge以後至關於已經commit過了,因此直接push,或者你修改點什麼,再從新commit and push

以後就能夠看到origin master已經和本地的dev代碼一致了web

代碼從gitlab下發到生產環境

本地代碼傳到gitlab後,能夠直接從生產環境上git pull取回最新代碼。
如下操做就是在服務器上經過命令行來作了
git clone
第一次down代碼
git clone http://iaasgit1.prod.bj1/iaas/SQLaudit.git sqlaudit
會把代碼down到sqlaudit目錄中
以後能夠經過pull來更新
git pull和代碼回滾sql

#若是以前已經正確clone後,能夠經過git pull進行同步代碼,可指定分支
git pull #是pull當前分支的最新代碼
git pull origin dev #表示fetch origin 的dev分支到當前目錄,並與當前分支合併,至關於git fetch origin dev && git merge origin dev,取下來再合併
git pull origin dev:master #表示從遠端origin dev取下代碼,並與本地的master分支合併(非當前分支)
git branch #查看當前分支
git reset --hard 08b07fd34cba9c8a69f72da09d142409baf81cee  #回滾代碼到08b..這個版本(此版本可從gitlab獲取到)

git 保存密碼
在git clone 以後git pull一次,會讓輸入用戶名和密碼,輸入後執行
git config credential.helper store
將會在當前項目的.git/config中添加一行
[credential]
helper = store
表示密碼已經被保存了,下次就不須要輸入密碼了,適合使用腳本同步時使用centos

git忽略

git忽略某種類型文件的方式
在項目根目錄下建立 .gitignore,這個文件也能夠經過pycharm建立並支持自動補全功能

內容相似以下,而後把這個文件也提交到git上,匹配到的代碼將不受git管理bash

# Windows:
Thumbs.db
ehthumbs.db
Desktop.ini

# Python:
*.py[cod]
*.so
*.egg
*.egg-info
migrations/
.idea/
logs/
static/images/logo.png
web_sso/migrations/0001_initial.py

參考資料

其餘的一些技巧能夠參考這篇文章
http://www.imooc.com/article/1426服務器

相關文章
相關標籤/搜索