快速入门使用Git管理代码

Git与SVN最大的不同

Git是分布式的,相当于每个人都有一个完整的代码库,而且可以指定不同人之间相互合作,而SVN这类的则是集中式的共享同一份代码库,相互影响着。

1.首先下载安装Git

https://git-scm.com 任何一个文件在git内都有三种状态:

1.已提交(committed):表示该文件已经被安全的保存在本地数据库中了

2.已修改(modified):表示修改了某个文件,但是还未提交

3.已暂存(atsged):表示把已修改的文件放在下次提交要保存的清单中

Git目录介绍

当创建一个新目录执行git init时,git会创建一个.git目录,这个目录包含了几乎所有Git存储和操作的对象。如果想要备份或者复制一个版本库,只需把这个目录拷贝至另一处即可。 Git目录

HEAD	指示目前被检出的分支
config*	包含项目特有的配置选项
description	仅供GitWeb程序使用
hooks/	包含客户端或服务端的钩子脚本(hook scripts)
info/		包含一个全局性排除(global exclude)文件,用来放置那些不希望被记录在.gitignore文件中的忽略模式(ignored patterns)
objects/	存储所有数据内容
refs/		存储指向数据(分支)的提交对象的指针

2.Git仓库分支目录介绍 仓库路径,这里用阿里云仓库为例:

例如:git@code.aliyun.com:XXX/XXXX.git
或者:https://code.aliyun.com/XXX/XXXX.git

日常使用命令:

Master为主干 develop为日常开发主库 每次开发创建分支,分发完成后提交合并至develop,然后删除分支。下一个功能或模块另起分支,重复以上操作。 具体操作如下

$git init 创建本地目录
$git clone 仓库地址 克隆远程代码
$git branch 创建分支

日常Codeing...

上传代码

$ git pull origin 更新代码
$ git 	checkout develop 切换至主开发分支
$ git merge 分支名 与本地分支合并
$ git commit 提交
$ git push 推到版本库,提交完成

删除分支

$ git branch 查看当前分支目录
$ git branch -d 分支名  删除本地分支
$ git branch -r -d origin/分支名 删除远程分支
$ git push origin :分支名 

其他命令:

创建本地git目录

$ git init

从远程仓库克隆代码到本地

$ git clone 仓库地址

增加文件提交入库 例如:

$ git add readme.txt
$ git commit -m “Just a test for add readme.txt”

删除文件提交入库 (直接使用rm filename是没有用的,必须使用git rm 存入git缓存中)

$ git rm readme.txt
$ git commit -m “Just a test for remove readme.txt”

Push提交到中心库

$ git push

Push提交到其他分支

$git push origin HEAD:other_dev_branch

取消本地文件修改

$ git checkout 文件名

查看仓库状态

$ git status

查看Log

$ git log --oneline

删除文件或文件夹:

1.拉取远程的Repo到本地(如果已经在本地,可以略过)

$ git clone xxxxxx

2.在本地仓库删除文件

$ git rm 文件

3.在本地仓库删除文件夹

$ git rm -r 文件夹

4.提交代码

$ git commit -m "update"

5.推送到远程仓库

$ git push origin xxxxxx

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏web开发

Gulp实现css、js、图片的压缩以及css、js文件的MD5命名

目前做代码压缩合并的工具有很多,诸如gulp,webpack,grunt等等,可以说这些项目构建工具的功能非常之强大:图片压缩、图片转base64、css和js...

2648
来自专栏生信宝典

Linux学习-常见错误和快捷操作

Linux下命令的一些异常情况 命令不全:在命令没有输入完 (引号或括号没有配对),就不小心按下了Enter键,终端会提示出一个>代表命令不完整,这是可以继续输...

1965
来自专栏大闲人柴毛毛

linux软件安装(一)——源码安装

Linux软件简介 Linux上几乎所有的软件都经过了GPL授权,因此几乎所有的软件都会提供源码。 而一个软件要在Linux上执行,必须是二进制文件,因此...

3344
来自专栏Java技术栈

jmap, jhat, jvisualvm:java堆内存对象分析利器

jmap -help查看命令用法。 jmap -heap <pid> 查看堆使用情况。 jmap -dump导出堆对象文件进行内存分析。 jhat -J-Xm...

3356
来自专栏阮一峰的网络日志

Docker 微服务教程

Docker 是一个容器工具,提供虚拟环境。很多人认为,它改变了我们对软件的认识。 站在 Docker 的角度,软件就是容器的组合:业务逻辑容器、数据库容器、储...

4544
来自专栏狂码一生

CentOS-7搭建FTP服务器

一、检查vsftpd是否安装     rpm -qa | grep vsftpd 二、安装     yum install vsftpd -y 三、配置  ...

5927
来自专栏L宝宝聊IT

Shell脚本应用(if语句的应用示例)

1306
来自专栏Brian

CentOS6 Upgrade Python

CentOS6 升级Python2.7.X和Python3.X ---- 简述 由于产品需要从裸机开始开发所以所有的配置和开发也是从零开始,这个导航是基于cen...

2975
来自专栏liuchengxu

Vim "小知识点"

在一个选项后面加上 ? 来查看当前的选项值, 比如, :set undodir? .

671
来自专栏about云

Hadoop3.0通用版集群安装高可靠详细教程

问题导读 1.hadoop3.x检测虚拟内存的情况下,可能会产生什么问题? 2.hadoop3.x中,下面各个配置的作用是什么? 3.dfs.blocksiz...

42410

扫码关注云+社区