zoukankan      html  css  js  c++  java
  • Git管理代码

    使用Git管理代码

    1. 分支管理模式

     

    首先,master分支应该是非常稳定的,开发都在dev分支上,每个人都有自己的分支,时不时地往dev分支上合并就可以了。完成测试后,再把dev分支合并到master上,在master分支发布上线。

    一般来说,master分支是不能直接commit的,只能从dev或其它分支Merge request。

    2. 使用过程

    1. 直接检出远程仓库

    Git Clone:选择一个远程的仓库,下载到本地文件夹。再修改内容,然后将要提交的内容Git Commit到本地仓库,再Git Push到远程仓库。

    命令如下:

    git clone http://xxxxxxxx.git

    cd base

    touch README.md

    git add README.md

    git commit -m "add README"

    git push -u origin master

    2. 将已经存在的内容提交到仓库

    Git Create Repository:在本地初始化一个本地仓库,然后将要提交的内容Git Commit到本地仓库,再Git Push到远程仓库。

    命令如下:

    git init

    git remote add origin http://xxxxxxxx.git

    git add .

    git commit

    git push -u origin master

    3. 注意。

    所有的命令,TortoiseGit有对应的操作选项。

    注意如果有全局配置过用户,则要更改此仓库的用户。到此目录下输入命令为:

    git config user.name xxxxx

    git config user.email xxxxx

    3. 常用的几个操作详细说明

    1. 更新仓库 fetch/pull

    Fetch 相当于是从远程获取最新版本到本地,不会自动merge。Fetch成功后,需要merge操作,进行手工合并。

    Pull 相当于是从远程获取最新版本并merge到本地。

    两种方式,如果有冲突,都会直接在文件中标识。在实际使用中,git fetch更安全一些。但是在IDE中,则都会提示解决冲突。

    2. 提交内容 add -> commit -> push

    首先Git Add 将内容从工作区加到本地的暂存区

    然后Git Commit将Add的内容提交到本地的分支上

    最后Git Push将Commit到本地仓库的内容推送到远程仓库

    3. 合并及解决冲突 merge

    Git Merge 合并某分支到当前分支,如果有冲突,会在对应的文件中标识,IDE也会提示。

    4. 切换分支 branch/checkout

    提交、更新、合并之前,都需要提交本地未提交的内容。想与远程的分支切换,则需要先更新到本地,再与之merge FETCH_HEAD,FETCH_HEAD指的是: 某个branch在服务器上的最新状态'. 每一个执行过fetch操作的项目'都会存在一个FETCH_HEAD列表

    创建分支:git branch <name>

    切换分支:git checkout <name>

    创建+切换分支:git checkout -b <name>

    合并某分支到当前分支:git merge <name>

    删除分支:git branch -d <name>

    4. SSH配置

    1,运行 git Bash 客户端

    $ cd ~/.ssh

    如果没有此目录则创建一个

    $ mkdir ~/.ssh

    2,在.ssh目录下

    $ ssh-keygen -t rsa -C "你的邮箱"

    会提示输入文件名,如果不存在多个git同时工作的话,直接回车,再提示密码,也不设置密码,则直接回车

    3,如果没有错误输出,那么key已经正常生成,可以使用下面命令复制到剪切板

    clip < ~/.ssh/id_rsa.pub

    4,登陆git服务器,进入个人设置Settings->SSH Keys,转入Key保存。

    5,设置ssh客户端(因为使用了非22默认端口,需要指定)

    在~/.ssh目录下,创建config文件,内容是:

    # User写上你的名字,如果你生成了自定义文件名,则修改IdentityFile(默认id_rsa)

    Host git地址

    HostName  git地址

    User (git用户名)

    Port git端口

    IdentityFile ~/.ssh/id_rsa

    如果TortoiseGit还连不上git服务器,可能是配置的SSH没有生效,解决方法是:右键-settings->Network->SSH 更换client为 ssh.exe(git自带的)

    另外注意:

    如果有多用户的话,则需要每个工程指定用户名,提交用户才能变更为指定用户。

    在.gitconfig加一段:

    [user]
    name = (你在git服务器上的name)
    email = (你在git服务器上的email)

  • 相关阅读:
    2.ECMAScript 5.0
    1.Javascript简介
    9.定位
    HDU2032 杨辉三角
    HDU2058 The sum problem
    HDU2091 空心三角形
    HDU1166 敌兵布阵(树状数组模板题)
    HDU2049 不容易系列之(4)——考新郎
    Python网络爬虫与信息提取(三)(正则表达式的基础语法)
    HDU6576 Worker
  • 原文地址:https://www.cnblogs.com/skyfeng/p/7910806.html
Copyright © 2011-2022 走看看