git的安装及使用(二)

 一、git忽略文件

即:过滤文件,把一些不需要的上传的文件忽略掉,这样可以减少上传所占用的内存,提高效率

1 https://bitbucket.org/  # 可以把bitbucket当成企业版的gitee,只有私有仓库
    如果公司自己搭建了gitlab就用公司的,没有的话用gitee,都是远端
2 项目中加过滤文件,加了以后,被排除的文件或文件夹不被git管理
3 在项目路径下新建 .gitignore 文件(写过滤规则)
    - #表示注释
    -忽略某个文件夹(写文件夹名字)    node_modules
    -忽略某个文件(直接写文件名)     .DS_Store
    -忽略以npm-debug.log开头的所有文件  npm-debug.log* 
    -忽略所有后缀名为.sln的文件        *.sln
    注意:空文件夹是不会被git管理的,但如果是文件夹里的空文件是会被git管理的
4 自己写.gitignore
    -在windows平台写成 .gitignore.   其它平台不用
    -.gitignore文件需要被git管理
    
5 自己写的
xxx   # 忽略这个文件夹
tt.txt # 忽略这个文件
/aaa/aa.txt # 忽略这个文件夹下的文件
*.json  # 忽略以json结尾的所有文件

二、从远端拉项目

比如要拉一个gitee上别人写的项目下来

方式一:

#使用pycharm拉取

 

 点击Clone

 

 

 

 方式二:

命令行输入: git clone 项目地址

 

三、把代码提交到远程仓库

1.操作命令

1 可以提交到github(不推荐) gitee gitlab
2 创建仓库,单分支,不使用readme初始化仓库

3 操作步骤
cd luffyapi
git init
git add .
git commit -m "first commit"
git remote add origin https://gitee.com/lili/luffyapi.git
# git push <远程主机名> <本地分支名>:<远程分支名>
git push -u origin master#-u在多分支时加,本地分支默认是origin一般不要改也可以改 
输入用户名密码,提交上去

4 其它命令
"""
1)查看仓库已配置的远程源
>: git remote
>: git remote -v

2)查看remote命令帮助文档
>: git remote -h

3)删除远程源
>: git remote remove 源名
eg: git remote remove origin

4)添加远程源
>: git remote add 源名 源地址
>: git remote add orgin git@gitee.com:doctor_owen/luffyapi.git

5)提交代码到远程源
>: git push 源码 分支名

6)克隆远程源
>: git clone 远程源地址
"""

2.操作演示

在gitee上注册账号

创建仓库

如果创建为私有仓库,那以后要拉去就需要授权

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 四、连接远程仓库的两种情况

1 首次提交代码连接
    cd luffyapi#cd到文件夹下
    git init
    git add .
    git commit -m "first commit"
    git remote add origin https://gitee.com/lili/luffyapi.git
    git push origin master
2 作为参与开发者,操作远程
    git clone https://gitee.com/lili/luffyapi.git
    # 使用pycharmn打开项目(直接使用pycharm拉取项目)
    
3 开发了,更改文件
    -张三和李四协同开发
    -假设张三提交了代码
    -李四在提交之前需要先(以后你们每次提交代码之前,都需要先拉取:拉取可能会出冲突)
        git pull origin master  # 拉取,拉到最新版本
        

五、git远程分支合并

1 创建远程分支
    -直接在远程创建:同步到本地
        -提交到远端的dev分支
        -本地要切到dev,修改
        -git  push origin dev

    -本地创建,上传到远程
    
2 在远端让dev和master合并(你的领导干)
    在线上点点点
3 变基 rebase

4 本地合并完,再提交到远程(你的领导干)
    切到master分支,git merge dev
    git push origin master

六、冲突出现原因及解决

1 .多个人在同一个分支上修改了同一段代码出现冲突

#比如
'''
<<<<<<< HEAD
我的代码
=======
对方的代码
>>>>>>> 04f13e850419b39610b81cb13eb8be91c6b3386b
'''
#解决:
商量留下谁的代码,比如要留下我的代码,则更改为

'''
我的代码
'''
其他都删掉就行
删掉后把代码重新提交到远端仓库

 2.分支合并时发生冲突

2 分支合并出冲突
    -master分支写的是 
        def add2():
            print('add2')
            print('天王盖地大虎')    
     -dev分支写的是
           def add2():
            print('add2')
            print('天王盖地小虎')    
     -线上分支合并,不能自动合并
    -解决:线下合并完,解决完冲突,再提交

3.慎用 -f 强制提交

3 强制提交(慎重)
git push origin master -f

 

posted @ 2020-12-25 20:55  1024bits  阅读(123)  评论(0编辑  收藏  举报