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自带的)
另外注意:
如果有多用户的话,则需要每个工程指定用户名,提交用户才能变更为指定用户。
在\.git\config加一段:
[user]
name = (你在git服务器上的name)
email = (你在git服务器上的email)
Git管理代码的更多相关文章
- intelliJ IDEA之使用svn或git管理代码
intelliJ IDEA之使用svn管理代码 1.VCS—>import into Version Control—>Share Project(Subversion) 2.点击+ ...
- 如何使用git管理代码
如何使用Git管理代码 Git 是开发人员用来向代码库(msstash)中提交代码或者下载远端代码库中代码的工具. 如何使用git向代码库中提交我们修改后的代码呢? 1.如果是第一次使用git,那么需 ...
- 用开源中国(oschina)Git管理代码(整合IntelliJ 13.1.5)
简介 开源中国提供了Git服务(地址:http://git.oschina.net/),在速度上比国外的github要快很多.使用了一段时间,感觉很不错.oschina git提供了演示平台,可以运行 ...
- VS Code使用Git管理代码
Visual Studio Code(简称VS Code)是一个轻量级且强大的代码编辑器,后台是微软,支持Windows.Mac和Linux操作系统,拥有丰富的插件生态系统,可通过安装插件来支持C++ ...
- windows下使用git管理代码,其中出现的问题的解决办法
和朋友共同开发一个小项目,所以就涉及到了代码管理这块,刚开始想到的是使用svn,但是外网访问svn的时候需要使用花生壳来弄一个动态的域名,中间出了很多错误,感觉有点麻烦,所以就想到看看还有别的管理代码 ...
- 使用代码管理工具(git)管理代码的常用指令合集
create a new repository on the command line echo "# test" >> README.md git init git ...
- 使用git管理代码的心得
一.简易使用流程 首先下载安装git,点击Git Bash进入编辑界面,之后如下图进入目录并通过命令 git init 把这个目录变成git可以管理的仓库 接下来使用git add .命令将所有文件添 ...
- Coding.net进阶,使用Git管理代码
原文来自:http://conw.net/archives/18/ (我自己的博客,点击链接查看文章最新版本) Git是目前最流行的版本控制系统,这里以GitHub为例,介绍git的基本使用. Git ...
- 【前端开发环境】前端使用GIT管理代码仓库需要掌握的几个必备技巧和知识点总结
1. Git的三种状态 已提交 committed 已暂存 staged 已修改 modified 2. Git的三个区域 Git仓库 是 Git 用来保存项目的元数据和对象数据库的地方. 这是 Gi ...
随机推荐
- JS高级---总结继承
总结继承 面向对象特性: 封装, 继承,多态 继承, 类与类之间的关系, 面向对象的语言的继承是为了多态服务的 js不是面向对象的语言, 但是可以模拟面向对象,模拟继承,为了节省内存 继承: ...
- C++-1019-Number Sequence
题意: 求数字112123123412345123456123456712345678123456789123456789101234567891011123456789101112123456789 ...
- JS中使用lambda筛选list
LevelEnum.filter(x=>x.Category=="水利工程")
- 为什么需要激活函数 为什么需要归一化 python内置函数:enumerate用法总结
为什么需要激活函数 为什么需要归一化 python内置函数:enumerate用法总结 待办 激活函数的用途(为什么需要激活函数)? 如果不用激励函数(其实相当于激励函数是f(x) = x),在这种情 ...
- P1908 逆序对(归并排序)
https://www.luogu.com.cn/problem/P1908 归并排序是用来求逆序对的 归并排序的思想就是分治 #include <bits/stdc++.h> using ...
- bootstrap联动校验(转载)
接触bootstrapvalidator时间不久,最近需要多个字段共同验证,网上查了一下未找到,查阅api文档,发现确实可以实现. 先看dom <div class="form-gro ...
- react生命周期方法有哪些?
react生命周期方法有哪些? React 16.3+ getDerivedStateFromProps:在调用render()之前调用,并在每次渲染时调用.需要使用派生状态的情况是很罕见的 comp ...
- java 中使用logback日志,并实现日志按天分类压缩保存。
以maven项目作为构建工具为例,首先引入使用logback需要的3个依赖,需要注意使用logback是需要引入slf4j-api的,因为logback是基于slf4j的 <!--logback ...
- Wx-小程序-使用canvas截图保存
1. wxml 页面 使用画布来站位,并给按钮添加绑定事件 <button class='btn btn-theme' bindtap='setSaveImage'>保存图片到本地< ...
- SPI(Service Provider Interface)--通过接口获取服务
spi 现在已有实现 jdk 提供实现 dubbo里的spi实现 一.jdk实现 配置 定义接口 定义实现类 配置资源文件 classpath下创建(META-INF/services/接口全面:ME ...