快速入门使用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 条评论
登录 后参与评论

相关文章

来自专栏专注数据中心高性能网络技术研发

如何解压RPM包

Mellanox的驱动源码在centos7下面是使用RPM包封装的,需要解压此格式的包来获取源文件 RPM包括是使用cpio格式打包的,因此可以先转成cpio然...

3055
来自专栏IT派

敲黑板:手把手教你 git 全操作

4、合并完成后,删除dev分支.(删除dev分支时,注意我们当前所在的分支不能是dev分支)

943
来自专栏零基础使用Django2.0.1打造在线教育网站

零基础使用Django2.0.1打造在线教育网站(十一):登录页面实现

努力与运动兼备~~~有任何问题可以加我好友或者关注微信公众号,欢迎交流,我们一起进步!

3601
来自专栏python3

CentOS 6.5 x64安装svn

#svn安装 yum install -y subversion 卸载svn旧版本 yum remove -y subversion wget http://p...

691
来自专栏青玉伏案

Git知识总览(四) git分支管理之rebase 以及 cherry-pick相关操作

上篇博客聊了《Git知识总览(三) 分支的创建、删除、切换、合并以及冲突解决》,本篇博客我们主要来看一下 rebase 变基相关的操作。rebase 操作和 m...

3295
来自专栏Python小屋

Python操作Excel文件中多WorkSheet模拟数据库内连接查询

严格意义上来讲,是可以把Excel文件看作数据库的,C#通过OLEDB.net就可以使用SQL语句操作Excel文件中的数据。 本文代码使用Python扩展库o...

3364
来自专栏along的开发之旅

linux关于bashrc与profile的区别

其实打开~/.profile, ~/.bashrc和~/.bash_profile文件,我们就可以看到区别. 1.首先说~/.profile: 这里有一...

921
来自专栏hbbliyong

OpenGL学习笔记:Console工程下如何不显示控制台黑窗口只显示Windows窗口

刚学习OpenGL,绘制图形的时候,如果不进行设置,运行的时候会先出现黑窗口再出现Windows窗口。 其实要去除控制台窗口非常简单,只需要修改工程设置,把子系...

3387
来自专栏咸鱼不闲

常用的dos命令

前言: 95、98、2000、2003、XP、Vista、Windows7、Window8、Window10是图形界面,在这之前是dos界面,现在仍然保持着这个...

953
来自专栏前端vue

Node中间件multer文件上传实践

单文件上传,接收一个以fieldname命名的文件,文件信息保存在req.file

932

扫码关注云+社区