Git代码管理
来源:互联网 发布:软件著作权怎么办理 编辑:程序博客网 时间:2024/06/14 21:12
Git介绍
Git是分布式版本控制系统,比SVN要实用很多,尤其越来越多的软件都支持它,其命令窗口能支持Linux命令。
优点:
1. 适合分布式开发,强调个体
PS:允许支持上千个并行开发的分支
2. 公共服务器压力和数据量都不会太大
3. 速度快、灵活
PS:特别在打分支和打Tag时候
4. 任意两个开发者之间可以很容易的解决冲突
5. 离线工作
PS:本地仓库
缺点:
代码保密性差,一旦开发者把整个库克隆下来就可以完全公开所有代码和版本信息
这一篇文章纯粹只是记录一些东西,并不会讲Git的工作原理、怎么用,因为资料已经非常完善了,使用到时查看即可。
1. 廖雪峰Git教程(中文)
http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000/0013744142037508cf42e51debf49668810645e02887691000
http://blog.jobbole.com/22647/
3. Git官方教程(英文)
http://git-scm.com/blog
4. Git - 生成 SSH 公钥
https://git-scm.com/book/zh/v1/服务器上的-Git-生成-SSH-公钥
下载Git
1. window git安装包
https://git-for-windows.github.io/
2. mac
Git安装工具:http://sourceforge.net/projects/git-osx-installer/
通过Xcode安装:Xcode->Preferences->Downloads,选择“Command Line Tools”
Eclipse Git
我是个懒人,不喜欢打命令去操作Git,可视化操作才是我想要的,所以就找了在Eclipse上使用Git方法。
1. Eclipse上安装GIT插件EGit及使用
http://yufenfei.iteye.com/blog/1750124/
2. 解决eclipse中egit中的cannot open git-upload-pack问题
http://www.xuebuyuan.com/1587775.html
Git国内仓库
使用git服务器能更好地管理代码,无论人在何地,只要有网络就能管理。
https://coding.net
总结
使用什么版本控制工具,无论是集中式或分布式,没有谁绝对取代谁,存在都是原因的,各有各自的适用场景。
附录
下面记录一些命令,来源于培训教程
创建Git仓库
初始化Git仓库
$ git init
配置用户信息
$ git config user.name 'someGuy'$ git config user.email 'someGuy@bingo.com'
克隆分支文件
$ git clone -b <分支名称> [远程仓库地址]
添加文件
创建一个文件
$ touch README.md
查看仓库当前状态
$ git status
添加文件到暂存区
$ git add .
提交暂存区文件到仓库
$ git commit -m 'add README.md file'
提交修改
将修改添加到暂存区
$ git add README.md
将暂存区中的修改提交到仓库
$ git commit -m 'edit README.md'
撤销
撤销add到暂存区的操作
$ git reset HEAD README.md
撤销对文件所做的修改
$ git checkout — README.md
将暂存区中的修改提交到仓库
$ git commit -m 'edit README.md'
版本回滚
查看提交历史记录
$ git log
回到上次的提交
$ git reset --hard README.md
返回最近的提交
$ git reset --hard 0ff9
链接到远程仓库
添加远程仓库
$ git remote add origin git@git.bingosoft.net:gongke/GitLession.git
提交代码到本地仓库
$ git commit -a -m '将要提交到远程'
将本地的master分支推送到远程的origin分支,并与之建立连接
$ git push -u origin master
在分支上提交、合并分支
修改若干文件,提交
$ git commit
切换回master分支
$ git checkout master
合并分支
$ git merge dev
删除分支
$ git branch -d dev
有冲突的合并
新建一个分支并切换到它
$ git checkout -b new_feature
合并分支
$ git merge new_feature
若没有发生冲突则会自动生成一个提交若发生冲突,则需要手动解决冲突,再提交
$ git add conflict_filegit commit - m 'conflict solved'
打标签
创建标签
git tag v1.0git tag -a v1.1 -m '1.1 released!'
查看标签
git tag
删除标签
git tag -d v1.0
把标签推送到远程
git push --tag
相关Linux命令
ls 显示文件或目录
-l 列出文件详细信息l(list)
-a 列出当前目录下所有文件及目录,包括隐藏的a(all)
mkdir 创建目录
-p 创建目录,若无父目录,则创建p(parent)
cd 切换目录
touch 创建空文件
echo 创建带有内容的文件。
cat 查看文件内容
cp 拷贝
mv 移动或重命名
rm 删除文件
-r 递归删除,可删除子目录及文件
-f 强制删除
find 在文件系统中搜索某文件
wc 统计文本中行数、字数、字符数
grep 在文本文件中查找某个字符串
rmdir 删除空目录
tree 树形结构显示目录,需要安装tree包
pwd 显示当前目录
ln 创建链接文件
more、less 分页显示文本文件内容
head、tail 显示文件头、尾内容
ctrl+alt+F1 命令行全屏模式
exit 退出
- Git进行代码管理
- 本地git管理代码
- 使用Git管理代码
- Git管理本地代码
- git 代码管理命令
- Git代码管理
- git代码管理流程
- git 的代码管理
- 代码管理 git
- 使用Git管理代码
- Git代码管理
- Git 管理代码
- Git 代码管理常用命令
- git-github管理代码
- git管理项目代码
- git管理代码常用命令
- git 代码管理
- Git 代码管理常用命令
- Python json包的使用
- POJ 1016 Numbers That Count 已被翻译
- (30)Java学习笔记——常用对象 / BigInteger 类 / BigDecimal 类
- java.util.Scanner的日常用法
- git pull,fecth,merge
- Git代码管理
- PowerDesigner创建物理数据模型(PDM)
- @PathVariable和@RequestParam的区别
- Yii2.0学习笔记(一)之Yii2.0起步
- javaWeb学习(三)
- html文字超出显示省略号
- letsencrypt安装的坑
- C#的枚举数(Enumerator)和可枚举类型(Enumerable)
- 欢迎使用CSDN-markdown编辑器