Git

一、版本控制

 https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000

在自己的项目的目录里面右键打开Git Bath Here,会弹出Git管理页面。

1.输入 git init   先初始化。会在这个项目的根目录下生成一个被隐藏的.git文件,我们的版本信息就会放到这个文件夹里面。但是这会儿它还没帮我们管理版本。

2.输入 git status  就会看到许多飘红的文件,表示这些文件我还没管呢。

3.输入 git add db.sqlite3  就把db.sqlite3这个文件管理起来了。

4.输入 git status  就会看到db.sqlite3就变成绿色得了,就表示被管起来了,其他的文件还是红色的。status就表示状态。

5.输入 git add . 就表示把这个文件夹里面的所有文件、文件夹及其子目录都管起来了。

6.输入 git status  就会看到所有的一级目录、二级目录等都变绿了,就都被管起来了。

7.输入 git config --global user.email "1439286684@qq.com"  需要先输入你的邮箱

8.输入 git config --global user.name "aaronthon"  再告诉它你的名字

9.输入 git commit -m "版本一"  变绿其实就改了一个状态,还没有管起来。这行代码运行之后,变绿的都被管起来了,都变成白色得了。

10.输入 git status 这是所有被管起来的文件都不显示了,这就是被copy走了,不显示了,但真实的文件还留在原来的文件夹里面并没有消失。

注意:提交给Git之前项目不能在运行状态。

11.当修改了自己的项目,输入 git status  就会显示红色的被修改的文件

12.输入 git add .  修改状态,变绿

13.输入 git commit -m "版本二"  提交给Git,这次修改的信息

14.输入 git status 查询状态

15.输入 git log 查询记录信息,会显示两条信息,一条是版本二,一条是版本一

16.输入 git reset --hard 这里是版本一的commit信息是一个数字和字母组成的一串字符   就这样会回滚到版本一的记录,真实的文件就会回到版本一的状态

17.输入 git log  就只能显示版本一的记录了。但是通过下面的命令还可以回到版本二的状态

18.输入 git reflog  就会显示版本二的信息

19.输入 git reset --hard 89d5ae8  就能回到版本二的状态。这里面的89d5ae8是版本二信息那行的第一个字符串。打开项目,就会看到真实的回到了版本二的状态。

20.下面是暂存区介绍

21.在一个版本提交之后,又写了一些新的功能。但是当这些新的功能只开发了一半的时候,发现前面的版本里面有BUG。这时需要把开发一半的新功能放到暂存区,回去修改GUG,修改完之后,并重新提交给Git。然后就可以把开发一半的新功能拉过来,就可以继续开发了。

22.输入 git stash  把开发一半的新功能放到暂存区

23.直接去修改BUG,修改完,输入 git add . 去修改状态,输入 git commit -m "修复BUG"  提交给Git

24.输入 git stash pop  这样BUG也修复了,写一半的新功能也回来了。(可能冲突)

25.输入 git stash list  查看暂存区

26.输入 git stash clear  清空暂存区

27.输入 git stash apply  编号,将指定编号记录从暂存区拿到工作区(可能冲突)

28.输入 git stash drop  删除指定编号的记录

29.咱们输入命令前一行的末尾都有一个括号括起来的master,它表示分支,它跟线上版本是一致的。

30.输入 git branch dev  创建分支,就是在原来的master分支上再创建一个dev的分支,dev就是开发版本。开发完了,让它和master分支合并

31.输入 git checkout dev  切换到dev分支,命令的后面都会显示括号括起来的dev了。

32.输入 touch a.log  在dev这个分支上创建a.log这个文件

33.输入 git commit -m "dev这个分支开发a.log"  提交到Git 

34.输入 git log  可以看到有"dev这个分支开发a.log"这个记录,但是它在dev分支上,和master没任何关系

35.输入 git checkout master  切换到master这个分支,看原文件,是看得不到a.log这个文件的,这说明这是两个环境。

36.接下来继续在dev分支上开发,正在开发过程中master分支出现BUG,需要修复。这是需要先把dev的代码提交给Git,然后切换到master上。因为master的程序就是线上的程序,不要直接在master主分支去修改,这是只需创建一个bug分支去修改BUG即可,修复好之后,提交给Git。然后切换到master分支上,通过下面的命令合成分支即可。

37.输入 git checkout master  切换到master主分支上

38.输入 git merge bug  就把修复好的bug分支合并到主分支master了,这时master和bug的代码是一样的,所以一般修复完BUG就会删掉bug分支

39.输入 git branch -d bug  就把bug分支删掉了

40.输入 git branch  显示所有分支,就只有master和dev分支了

41.输入 git checkout dev 去dev分支继续开发。完成新功能后,dev和master的区别就是比master多了一个bug和一个新功能,这是将dev的程序提交到Git上,然后切换到matser主分支,将dev程序merge给master分支即可。

42.输入 git commit -m "dev新功能完成"  将完成的程序提交Git

43.输入 git checkout master  切换到主分支master上

44.输入 git merge dev  将dev程序merge到master上即可。注意,可能会产生冲突,遇到冲突要手动解决。ps:这是一定要兴奋,产生20000个冲突,你就没法去约会啦!!!就会没没女朋友了:)

45.用merge命令合并,它会保留两条线,一条是master的提交记录,一条dev的提交记录。两条线相对独立,使记录保留的更清晰。

46.git rebase dev  在主支线master里面,将dev合并,这样会将master和dev合并到一条线里面,这样会显得提交记录整洁,但是记录保留的不是很清晰。merge和rebase什么时候用,就要看需求了。

 二、远程仓库

 在码云或GitHub网站注册账号。并提前创建一个项目,项目的地址是系统给的仓库地址是https://gitee.com/aaronthon/first_item.git

1.输入 git remote add origin https://gitee.com/aaronthon/first_item.git 本地输入命令 将自己的仓库地址起名为origin

2.输入 git push origin master  将本地的项目推送到码云仓库,推送的是master主分支。会提示你输入码云的账号密码。

3.输入 git push origin dev  将本地项目的dev分支也推送到码云。

4.以上假如说都在公司开发传到码云远程仓库,接下来回到家继续开发就要从码云下载项目了.在电脑本地磁盘创建一个文件夹,名字自己定。进入这个文件夹,右键点击Git Base Here 。

5.输入 git clone https://gitee.com/aaronthon/first_item.git  就把这个项目下载下来了。

6.输入 ls  就会显示这个项目名字first_item/

7.输入 cd first_item/  进入这个项目

8.输入 git branch  显示分支,你会发现只有master分支

9.输入 git branch dev  创建一个dev分支,但是这个dev分支和码云仓库的分支不一样,接下来这样操作。

10.输入 git checkout dev  进入dev分支

11.输入 git pull origin dev  这时不是克隆,是拉新代码用pull,从哪拉,就从https://gitee.com/aaronthon/first_item.git仓库地址拉,但是我们已经用origin来代替这个地址了。然后从这个地址就拉dev分支就行了。

12.输入 git branch 就会看到master和dev两个分支了。

13.在家也开发完了,(注意:都在dev开发),需要传到码云远程仓库。

14.输入 git push origin dev  这样就推送到原来的仓库的dev分支里面了。

15.第二天去上班了

16.输入 git pull origin dev  从仓库拉dev的最新代码,你就会看到在家写的代码了。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值