通過pycharm使用git


轉載:

https://www.cnblogs.com/caseast/p/6085837.html

其它參考:

https://www.cnblogs.com/yigehundan/p/6026925.html

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

通過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上就可以看到了

分支操作

默認初始化完的工程會有一個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分支了

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代碼一致了

代碼從gitlab下發到生產環境

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

#如果之前已經正確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
表示密碼已經被保存了,下次就不需要輸入密碼了,適合使用腳本同步時使用

git忽略

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

內容類似如下,然后把這個文件也提交到git上,匹配到的代碼將不受git管理

# 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

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM