本文标题:快速入门使用Git管理代码
原始链接:https://www.shuibo.cn/git.html
许可协议: 署名-非商业性使用-禁止演绎 4.0 国际 转载请保留原文链接及作者。
Git与SVN最大的不同
Git是分布式的,相当于每个人都有一个完整的代码库,而且可以指定不同人之间相互合作,而SVN这类的则是集中式的共享同一份代码库,相互影响着。
1.首先下载安装Git
https://git-scm.com 任何一个文件在git内都有三种状态:
代码语言:javascript复制1.已提交(committed):表示该文件已经被安全的保存在本地数据库中了
2.已修改(modified):表示修改了某个文件,但是还未提交
3.已暂存(atsged):表示把已修改的文件放在下次提交要保存的清单中
Git目录介绍
当创建一个新目录执行git init时,git会创建一个.git目录,这个目录包含了几乎所有Git存储和操作的对象。如果想要备份或者复制一个版本库,只需把这个目录拷贝至另一处即可。 Git目录
代码语言:javascript复制HEAD 指示目前被检出的分支
config* 包含项目特有的配置选项
description 仅供GitWeb程序使用
hooks/ 包含客户端或服务端的钩子脚本(hook scripts)
info/ 包含一个全局性排除(global exclude)文件,用来放置那些不希望被记录在.gitignore文件中的忽略模式(ignored patterns)
objects/ 存储所有数据内容
refs/ 存储指向数据(分支)的提交对象的指针
2.Git仓库分支目录介绍 仓库路径,这里用阿里云仓库为例:
代码语言:javascript复制例如:git@code.aliyun.com:XXX/XXXX.git
或者:https://code.aliyun.com/XXX/XXXX.git
日常使用命令:
Master为主干 develop为日常开发主库 每次开发创建分支,分发完成后提交合并至develop,然后删除分支。下一个功能或模块另起分支,重复以上操作。 具体操作如下
代码语言:javascript复制$git init 创建本地目录
$git clone 仓库地址 克隆远程代码
$git branch 创建分支
日常Codeing…
上传代码
代码语言:javascript复制$ git pull origin 更新代码
$ git checkout develop 切换至主开发分支
$ git merge 分支名 与本地分支合并
$ git commit 提交
$ git push 推到版本库,提交完成
删除分支
代码语言:javascript复制$ git branch 查看当前分支目录
$ git branch -d 分支名 删除本地分支
$ git branch -r -d origin/分支名 删除远程分支
$ git push origin :分支名
其他命令:
创建本地git目录
代码语言:javascript复制$ git init
从远程仓库克隆代码到本地
代码语言:javascript复制$ git clone 仓库地址
增加文件提交入库 例如:
代码语言:javascript复制$ git add readme.txt
$ git commit -m “Just a test for add readme.txt”
删除文件提交入库 (直接使用rm filename是没有用的,必须使用git rm 存入git缓存中)
代码语言:javascript复制$ git rm readme.txt
$ git commit -m “Just a test for remove readme.txt”
Push提交到中心库
代码语言:javascript复制$ git push
Push提交到其他分支
代码语言:javascript复制$git push origin HEAD:other_dev_branch
取消本地文件修改
代码语言:javascript复制$ git checkout 文件名
查看仓库状态
代码语言:javascript复制$ git status
查看Log
代码语言:javascript复制$ git log --oneline
删除文件或文件夹:
1.拉取远程的Repo到本地(如果已经在本地,可以略过)
代码语言:javascript复制$ git clone xxxxxx
2.在本地仓库删除文件
代码语言:javascript复制$ git rm 文件
3.在本地仓库删除文件夹
代码语言:javascript复制$ git rm -r 文件夹
4.提交代码
代码语言:javascript复制$ git commit -m "update"
5.推送到远程仓库
代码语言:javascript复制$ git push origin xxxxxx