zoukankan      html  css  js  c++  java
  • Git使用教程

    登陆一个Git的托管服务器,这里我使用的是自己搭建的gitlab。然后创建一个账号,新建一个仓库。下载git客户端。

    配置

    1
    2
    git config --global user.name "your name"
    git config --global user.email "your email"

    生成SSH kEY

    1
    ssh-keygen -t rsa -C "your.email@example.com" -b 4096

    连续回车三次

    1
    cat ~/.ssh/id_rsa.pub

    复制密钥。然后去git服务器添加到你的用户设置里面,就可以直接使用ssh认证方式,而不需要每次输入用户名密码。

    Git使用教程ssh

    新建仓库

    1.本地已经存在工程

    登陆git服务器,创建远程仓库(test)。然后打开git bash客户端。

    1
    2
    3
    4
    5
    6
    cd basedir
    git init
    git remote add origin git@192.168.16.100:liurui/test.git
    git add .
    git commit -m "Initial commit"
    git push -u origin master

    2.创建新的仓库

    1
    2
    3
    4
    5
    6
    git clone git@192.168.16.100:liurui/test.git
    cd test
    touch README.md
    git add README.md
    git commit -m "add README"
    git push -u origin master

    3.已经存在本地仓库

    1
    2
    3
    4
    5
    cd existing_repo
    git remote rename origin old-origin
    git remote add origin git@192.168.16.100:liurui/test.git
    git push -u origin --all
    git push -u origin --tags

    日常维护

    单人开发

    一个人开发的话就不需要考虑合并别人的代码,只需要在主干master分支开发即可。而且你的本地代码永远都是最新的,所以不需要git pull操作更新代码。

    1
    2
    3
    大专栏  Git使用教程ass="line">4
    git status
    git add -A
    git commit -m "你的版本记录信息"
    git push origin master

    多人开发

    多人开发,就需要注意每个人代码的合并问题,一般采取所有人维护master主干,开发的时候在各自的分支开发,然后合并到master主干分支上,提交前注意git pull 更新最新的代码,因为你的代码提交可能落后master。

    1
    2
    3
    4
    5
    6
    git checkout master
    git pull origin master
    git checkout yourbranch
    git rebase master
    git rebase --continue
    git push origin liurui:liurui/dev

    说明:git rebase master 可以理解为合并master分支上进度到当前自己的分支,如果没有冲突,那么直接git push,如果存在冲突,那么根据提示去相应的文件,手动合并冲突,合并完了执行git rebase –continue。git push origin liurui:liurui/dev 其中liurui是你的本地分支名,liurui/dev是你的远程分支名。然后去网站上提交合并申请,然后有master合并权限的用户审核代码,他可以合并本次提交,也可以不合并。

    添加忽略文件

    注意事项

    添加忽略文件是为了将开发中产生的一些中间文件排除在版本管理之外,方便其他人维护更新。忽略文件只能忽略尚未添加到版本管理中的文件和文件夹。

    添加方法

    在项目根目录下打开gitbash,创建文件 touch .gitignore,然后编辑文件。

    规则

    • 空格不匹配任意文件,可作为分隔符,可用反斜杠转义

    • #开头的模式标识注释,可以使用反斜杠进行转义

    • ! 开头的模式标识否定,该文件将会再次被包含,如果排除了该文件的父级目录,则使用 ! 也不会再次被包含。可以使用反斜杠进行转义

    • / 结束的模式只匹配文件夹以及在该文件夹路径下的内容,但是不匹配该文件

    • / 开始的模式匹配项目跟目录

    • 如果一个模式不包含斜杠,则它匹配相对于当前 .gitignore 文件路径的内容,如果该模式不在 .gitignore 文件中,则相对于项目根目录

    • *匹配多级目录,可在开始,中间,结束

    • ?通用匹配单个字符

    • []通用匹配单个字符列表

    常用示例

    • 忽略指定文件

      project.pro.user 这种方法会忽略根目录下的该文件,其他路径下的同名文件不会忽略

    • 忽略特定后缀的文件

      *.o

    • 忽略文件夹及文件夹下的所有内容

      build/

    • 忽略某一文件夹下的所有内容但是不忽略特定内容

      build/

      !build/temp/

    忽略已经加入版本管理的内容

    先删除本地缓存,然后重新提交。

    1
    2
    3
    git rm -r --cached .
    git add -A
    git commit -m "test"
  • 相关阅读:
    SQL Select Case
    Fxcop:Globlization warning/全球化警告
    How to get free(available) physical memory/获取可用的内存
    CA2000: Dispose objects before losing scope/在退出作用域前Dispose object
    并行编译Parallel Building
    VS2010 WebInstall/web安装
    欧洲天空访问
    .NET Framework Client Profile/.net framework 客户端配置
    新书推荐:Practical Code Generation in .NET: Covering Visual Studio 2005, 2008, and 2010
    Disable floppy driver(禁用软盘)
  • 原文地址:https://www.cnblogs.com/lijianming180/p/12026727.html
Copyright © 2011-2022 走看看