赞
踩
版本控制是程序开发、管理必不可少的工具,特别是在多人协作的团队中,适宜的版本控制工具可以提高开发效率,消除很多有代码版本带来的问题
目前最流行的开源版本控制工具要数Subvision(SVN)、Git以及Mercurial(hg)了,其中SVN是集中式版本控制工具,Git和Mercurial则是分布式的。早期常用的还有CVS
基本上都是外网服务器连接(GitHub,码云,gitlab)
实际使用的时候基本流程和SVN差别不大,拉代码,更新代码,提交代码
Git 是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。
6.1 Git容易混淆的两个概念
工作区 (工作区中有一个隐藏目录叫.git,它里面是一些版本控制库)
gitignore文件 (设置隐藏文件)
6.2一些常用的git命令
# 在当前目录新建一个Git代码库$ git init
# 添加当前目录的所有文件到暂存区$ git add .
# 提交暂存区到仓库区$ git commit -m [message]
# 列出所有本地分支$ git branch
# 列出所有远程分支$ git branch -r
# 列出所有本地分支和远程分支$ git branch -a
# 新建一个分支,但依然停留在当前分支$ git branch [branch-name]
# 新建一个分支,并切换到该分支$ git checkout -b [branch]
# 切换到指定分支,并更新工作区$ git checkout [branch-name]
# 切换到上一个分支$ git checkout -
# 合并指定分支到当前分支$ git merge [branch]
# 选择一个commit,合并进当前分支$ git cherry-pick [commit]
# 删除分支$ git branch -d [branch-name]
# 删除远程分支$ git push origin --delete [branch-name]
$ git branch -dr [remote/branch]
Workspace:工作区
Index / Stage:暂存区
Repository:仓库区(或本地仓库)
Remote:远程仓库
git init 在当前目录新建一个Git代码库
git status 显示有变更的文件
git diff 显示暂存区和工作区的差异
git add 添加指定文件到暂存区
git commit 提交暂存区到仓库区
git clone 下载一个项目和它的整个代码历史
git branch 列出所有本地分支
git checkout 切换到指定分支,并更新工作区
6.3 git两种工作流
fork/clone
clone
git clone和fork的区别
1.区别
git clone 是在自己电脑(这里我是ubuntu)直接敲命令,结果是将github仓库中的项目克隆到自己本地电脑中了
fork是直接访问github网站,在项目页面中点击fork,然后自己github项目中就会多出一个复制的项目
2.用法
如果我们想要修改他人github项目的话,我们直接git clone代码到本地是不能pull的,所以我们使用fork,先把代码复制到自己的github仓库,然后git clone到本地修改,然后在提交pull(这里的pull是pull到自己github仓库了,我们自己的github仓库中的代码是fork源的一个分支),这时候我们想要把修改的代码提交给他人的话,就可以在自己github上pull,等其他人看到后就可以把代码做一个合并
链接:https://www.jianshu.com/p/0536aa961178
1 git
github.com(教程地址 https://www.runoob.com/w3cnote/git-five-minutes-tutorial.html)
Git 是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。
1、Git 是分布式的,SVN 不是:这是 Git 和其它非分布式的版本控制系统,例如 SVN,CVS 等,最核心的 区别。
2、Git 把内容按元数据方式存储,而 SVN 是按文件:所有的资源控制系统都是把文件的元信息隐藏在一个类 似 .svn、.cvs 等的文件夹里。
3、Git 分支和 SVN 的分支不同:分支在 SVN 中一点都不特别,其实它就是版本库中的另外一个目录。
4、Git 没有一个全局的版本号,而 SVN 有:目前为止这是跟 SVN 相比 Git 缺少的最大的一个特征。
5、Git 的内容完整性要优于 SVN:Git 的内容存储使用的是 SHA-1 哈希算法。这能确保代码内容的完整 性,确保在遇到磁盘故障和网络问题时降低对版本库的破坏。
6. git是国外开源版本库,不需要自己搭建服务器,你在上面搭建上传的工程代码都是公开的,谁都可以访问,可以设置团队成员分配修改的权限。
如果要像SVN一样指定的人可以访问Git就需要收费了,SVN需要你有一台服务器,上面安装SVN Server实现版本控制。
一般是内网服务器多
常用的功能就三个,checkout(检出-拉代码)update更新 commit提交
第一次登陆需要填服务端分配给你的账号
红色感叹号,是自己修改了尚未提交的内容,绿色对号是已经提交成功或上次提交后未修改过的内容
冲突的内容会由波浪线标注,将冲突内容修改好后,删除自动生成的类,然后提交
提交之前要先记得更新
创建仓库
git init cangkuname
克隆代码库
git clone 远端仓库地址xxxx.com
拉取远端仓库到本地
git pull
添加当前目录所有修改过的文件到本地缓存区域
git add .
添加单个或多个文件到本地的缓存区域
git add xxx.txt xxx.txt
把缓存区域的文件提交到本地仓库
git commit -m “描述”
把本地仓库修改过的文件同步到远端服务器
git push
忽略文件在.git同级目录下创建.gitignore文件,然后放入需要忽略的文件夹或文件
“回退版本号” 版本回退
git reset --hard
同步版本回退到服务器
git push -f
切换分支
git checkout fenzhiname
查看提交日志
git log
查看分支
git branch
打包apk
./gradlew aPR
查看当前文本里的所有内容
cat xx.txt
分支合并
git merge fenzhiname
拉取指定分支代码
git clone xxx.com (代码仓库地址https:~~~~~.com)-b fenzhiname
拉代码:AS首页里的
get from control:
提交仓库代码3步
git add . ,git commit ,git push
提交到远程仓库
git push origin HEAD:refs/for/fenzhiname
Git推仓库命令,AS里写命令
查看代码情况
git status
As拉取和切换分支
拉取代码
file…new…第三个p开头,输入网址
切分支,最低下可以切换
从特定的分支拉取代码
第一种方法
1 查看当前所在的分支 git branch -a
2 切换到想到的分支 git checkout 分支名1
3 拉取分支2上的代码 git pull origin 分支名2
4 查看日志 git log
第2种方法
git clone -b dev_jk(分支名) ssh(http)
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。