Git代码仓库

了解版本控制的工具吗?

版本控制是程序开发、管理必不可少的工具,特别是在多人协作的团队中,适宜的版本控制工具可以提高开发效率,消除很多有代码版本带来的问题
目前最流行的开源版本控制工具要数Subvision(SVN)、Git以及Mercurial(hg)了,其中SVN是集中式版本控制工具,Git和Mercurial则是分布式的。早期常用的还有CVS

Git

基本上都是外网服务器连接(GitHub,码云,gitlab)
实际使用的时候基本流程和SVN差别不大,拉代码,更新代码,提交代码
Git 是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。

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

Git & svn

1 git
github.com(教程地址 https://www.runoob.com/w3cnote/git-five-minutes-tutorial.html)

Git 是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。

Git 与 SVN 区别点:

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实现版本控制。

SVN(版本管理/控制工具)

一般是内网服务器多
常用的功能就三个,checkout(检出-拉代码)update更新 commit提交
第一次登陆需要填服务端分配给你的账号
红色感叹号,是自己修改了尚未提交的内容,绿色对号是已经提交成功或上次提交后未修改过的内容
冲突的内容会由波浪线标注,将冲突内容修改好后,删除自动生成的类,然后提交
提交之前要先记得更新

Git命令

创建仓库
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)😕/10.1.1.11/service/tmall-service.git(路径)

第3种方法

git checkout -b 本地新分支名字 origin/远程分支名字

git pull

回退命令:
回退到上个版本
git reset --hard HEAD^

回退到前3次提交之前,以此类推,回退到n次提交之前
git reset --hard HEAD~3

退到/进到 指定commit的sha码
git reset --hard commit_id

强推到远程:

git push origin HEAD --force

AS后台输入这个命令

adb shell dumpsys activity | findstr com.example.myapplication

#安装apk
./gradlew aPR

#编辑文件
vim directory/file_name

#创建目录名
mkdir muluname

#进入目录
cd ~

#查询
ls

#输入命令,创建.bash_profile文件
touch .bash_profile

#打开刚才创建的文件

open -e .bash_profile

open ~/.bash_profile

#查看adb设备信息

system_profiler SPUSBDataType

#查找adb_usb.ini文件

vi ~/.android/adb_usb.ini

#使修改生效
source .bash_profile
source ~/.bash_profile

#测试adb

$ adb version

#安装apk

adb install xx.apk

adb install -t xxx.apk

#打包流程

ls

cd xiangmuming

#查看当前分支
git branch

#选择分支
git checkout fenzhiming

#拉取
git pull

//打渠道包
./gradlew assembleXiaomiX32Debug

Mac看log

adb logcat *:

adb logcat *:e

log日志打印到文本上

adb logcat -d > logcat.txt

切换分支

1、 branch先查看

2、git checkout fenzhiname

3、git pull 分支代码拉下来就是切换了

查看本地和远程(包含2个)所有分支
git branch -a

git branch -r(远程所有分支)

删除本地仓库的分支
git branch -d fenzhiname

删除远程仓库的分支
git push origin

删除本地的一个文件
git rm fwenjianname

推送远程分支
git push origin fenzhi

合并分支
git merge fenzhiname

合并远程分支到当前分支
git merge origin/fenzhiname

回退
AS—Git—ResetHEAD

git reset –soft

Soft:选择这个模式意思是仅仅撤销commit而已,不影响你本地的任何文件,也不影响(index)缓存区的任何文 件。

git reset HEAD~X X:代表次数

如果你把HEAD后面加个“~1”,这里的数字代表的是次数,比如你commit了三次, 你写1,就是回滚最后一次提交的,如果是2,就是后两次提交的都回滚。这时候你会发现它的功能和soft 这个模式一样了。

清除代码
git checkout 代码class路径

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值