使用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自带的)

另外注意:

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

在\.git\config加一段:

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

Git管理代码的更多相关文章

  1. intelliJ IDEA之使用svn或git管理代码

    intelliJ IDEA之使用svn管理代码 1.VCS—>import into Version Control—>Share Project(Subversion) 2.点击+    ...

  2. 如何使用git管理代码

    如何使用Git管理代码 Git 是开发人员用来向代码库(msstash)中提交代码或者下载远端代码库中代码的工具. 如何使用git向代码库中提交我们修改后的代码呢? 1.如果是第一次使用git,那么需 ...

  3. 用开源中国(oschina)Git管理代码(整合IntelliJ 13.1.5)

    简介 开源中国提供了Git服务(地址:http://git.oschina.net/),在速度上比国外的github要快很多.使用了一段时间,感觉很不错.oschina git提供了演示平台,可以运行 ...

  4. VS Code使用Git管理代码

    Visual Studio Code(简称VS Code)是一个轻量级且强大的代码编辑器,后台是微软,支持Windows.Mac和Linux操作系统,拥有丰富的插件生态系统,可通过安装插件来支持C++ ...

  5. windows下使用git管理代码,其中出现的问题的解决办法

    和朋友共同开发一个小项目,所以就涉及到了代码管理这块,刚开始想到的是使用svn,但是外网访问svn的时候需要使用花生壳来弄一个动态的域名,中间出了很多错误,感觉有点麻烦,所以就想到看看还有别的管理代码 ...

  6. 使用代码管理工具(git)管理代码的常用指令合集

    create a new repository on the command line echo "# test" >> README.md git init git ...

  7. 使用git管理代码的心得

    一.简易使用流程 首先下载安装git,点击Git Bash进入编辑界面,之后如下图进入目录并通过命令 git init 把这个目录变成git可以管理的仓库 接下来使用git add .命令将所有文件添 ...

  8. Coding.net进阶,使用Git管理代码

    原文来自:http://conw.net/archives/18/ (我自己的博客,点击链接查看文章最新版本) Git是目前最流行的版本控制系统,这里以GitHub为例,介绍git的基本使用. Git ...

  9. 【前端开发环境】前端使用GIT管理代码仓库需要掌握的几个必备技巧和知识点总结

    1. Git的三种状态 已提交 committed 已暂存 staged 已修改 modified 2. Git的三个区域 Git仓库 是 Git 用来保存项目的元数据和对象数据库的地方. 这是 Gi ...

随机推荐

  1. Radar Installation(利用数据有序化进行贪心选择)

    English appre: an infinite straight line:一条无限长的直线 on the coasting:在海岸线上 Cartesian coordinate system, ...

  2. Log4j的isdebugEnabled的作用

    转自:https://www.iteye.com/blog/zhukewen-java-1174017 在项目中我们经常可以看到这样的代码: if (logger.isDebugEnabled()) ...

  3. Install macOS High Sierra on Any Supported Intel-based PC

    1.准备制作安装盘前的准备https://www.tonymacx86.com/threads/unibeast-install-macos-high-sierra-on-any-supported- ...

  4. 钉钉、钉应用(微应用和E应用)开发介绍

    钉钉,数字化新工作方式,让工作更简单 目前在钉钉的官网可以看到,超过700万家企业组织正在使用钉钉.笔者也相信,这一数字每天都在增加.获得群众的认可,也是理所当然的,体验过钉钉,就能感觉到,钉钉的考勤 ...

  5. 题解【UVA839】天平 Not so Mobile

    Description Input Output Examples Input 1 0 2 0 4 0 3 0 1 1 1 1 1 2 4 4 2 1 6 3 2 Output YES Transla ...

  6. 为什么各家银行都抢着办理ETC业务?

    最近据于各家银行抢着办ETC业务的话题很火,各家银行不仅有很大的折扣力度,而且又是送油卡又是送现金的,银行为什么会如此乐此不疲?为了让车主办理自家的ETC业务,银行究竟有多卖力? 就在近日,网上疯传一 ...

  7. 使用js处理后台返回的Date类型的数据

    从后台返回的日期类型的数据,如果直接在前端进行显示的话,显示的就是一个从 1970-01-01 00:00:00到现在所经过的毫秒数,而在大多数业务中都不可能显示这个毫秒数,大多数都是显示一个正常的日 ...

  8. 通过scrapy,从模拟登录开始爬取知乎的问答数据

    这篇文章将讲解如何爬取知乎上面的问答数据. 首先,我们需要知道,想要爬取知乎上面的数据,第一步肯定是登录,所以我们先介绍一下模拟登录: 先说一下我的思路: 1.首先我们需要控制登录的入口,重写star ...

  9. WSUS补丁服务器部署详细

    利用WSUS部署更新程序 来源于网络转载  WSUS概述 为了让用户的windows系统与其他microsoft产品能够更安全,更稳定,因此microsoft会不定期在网站上推出最新的更新程序供用户下 ...

  10. IIS的部署(二)------虚拟目录的使用

    IIS的虚拟目录 一个站点的网页的存储位置目录是固定的,而且结构和物理保存网页的磁盘路径相同.例如:默认网页的存储位置是c:\inetpub\wwwroot,当访问localhost即访问c:\ine ...