zoukankan      html  css  js  c++  java
  • pycharm使用Git

    通过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
    
    

    参考资料

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

    幻想毫无价值,计划渺如尘埃,目标不可能达到。这一切的一切毫无意义——除非我们付诸行动。
  • 相关阅读:
    HDU 1501 Zipper(DFS)
    HDU 2181 哈密顿绕行世界问题(DFS)
    HDU 1254 推箱子(BFS)
    HDU 1045 Fire Net (DFS)
    HDU 2212 DFS
    HDU 1241Oil Deposits (DFS)
    HDU 1312 Red and Black (DFS)
    HDU 1010 Tempter of the Bone(DFS+奇偶剪枝)
    HDU 1022 Train Problem I(栈)
    HDU 1008 u Calculate e
  • 原文地址:https://www.cnblogs.com/TodayWind/p/14027238.html
Copyright © 2011-2022 走看看