git相关操作(一) —— git工作区域&基本信息设置&初始化init & git本地操作 & git分支管理

git工作区域

三个区域都是在本地

工作区就是本地的工作目录,就是本地仓库,就是有.git的文件夹(即有,git文件夹的目录才算是一个git目录,也即是一个git工作区)。用来新建,修改我们的代码

.git目录就是本地仓库,里面保存着我们git commit 提交的东西,就是git的版本库

暂存区(英文叫 stage 或 index)是存放在 .git 目录下的 index 文件(.git/index)中,所以我们把暂存区有时也叫作索引(index)。

向git仓库添加文件的流程

git status 可以看当前文件的状况,是在工作区,还是暂存区等等

git基本信息设置(安装完git之后设置)

设置用户名

git config --global user.name “name”

设置用户邮箱

git config --global user.email "email"

这两个设置在github主页显示谁提交了文件

用户名和邮箱地址是本地git客户端的一个变量,每次commit都会用用户名和邮箱纪录。

github的contributions统计就是按邮箱来统计的。

查看当前配置

 git config --list

git初始化

初始化一个新的git仓库

新建文件夹之后

git init

touch .gitignore

之后文件夹中就会生成.git文件夹,用来存储仓库所有数据信息的

git init就是把一个文件夹变成了git仓库

git init就是创建本地仓库

但是,如果我们有一个目录,里面已经有一些文件了,此时我们git init, 把当前目录初始化成git仓库,此时git status,所有文件都还会使untracked的状态,git init的时候不会给你自动提交,需要你手动add想追踪的文件。

同理,git可以手动选择想追踪哪些文件,不会直接当前整个目录全给你追踪了

用git status查看当前状态,显示

git本地操作

向git仓库添加文件 (添加要让被git跟踪的文件)

新建文件

现在的git status

显示有一个untracked file,a1.txt

将文件提交到暂存区

git add a1.txt

之后的状态变成了绿色

将暂存区文件添加到git仓库(本地)

git commit -m 'add a1.txt'

git commit -m "message"

更新被追踪的文件

如果我们修改了a1.txt文件的内容

此时git status就会变成 “modified”

要更新a1.txt这个文件还是用git add就好了,会把原来的版本覆盖掉

git add a1.txt

提交到git仓库还是 git commit,也是会覆盖之前的文件

git不再追踪某个文件

git rm --cached readme1.txt  #删除readme1.txt的跟踪,并保留在本地。
git rm --f readme1.txt  #删除readme1.txt的跟踪,并且删除本地文件。

然后git commit 即可。但是git status查看状态时还是会列出来

每次使用git status 查看状态时总是会列出被跟踪的文件,可以通过 .gitignore文件来达到目的

删除被git追踪的文件

例如a1.txt已经提交到git仓库中了,而现在我们想删掉它

首先,直接在计算机中删除要删除的文件

rm a1.txt

然后从git暂存库中删除文件

git rm a1.txt

然后提交到git仓库,就可以了

git commit -m '第一次通过git删除仓库文件'

git回退到以前的版本

# 查看操作日志
git log  


如果觉得显示的字串太长可以 git log --oneline

#回退到某个以前的版本
git reset --hard 14d86c9fc652b66be6e442af2b23e60b7cb64d72

--hard是修改版本库,修改暂存区,修改工作区

注意,回退到以前的版本后,比该版本更新的版本就都不可见了,所以在切换之前要记好最新的这些版本的版本号,通过版本号还可以切回去。切回去依旧是git reset这个命令

git分支/branch管理

        分支可以理解为独立开发功能的小房间

        默认情况下当初始化一个版本库(初始化一个文件夹)的时候,会生成一个master分支,即主分支。一般主分支里面都是最新,最完善的代码

       在一个分支新建分支的时候,就相当于把原来分支里面的东西拷贝了一份到新分支

新建分支

git branch 分支名
如
git branch dev

查看当前分支

git branch

星号绿色表示的是当前所在的分支

切换分支

git checkout dev

     你在分支里面可以修改,可以commit,但是都不影响其他分支的内容

     你在dev分支中修改了文件的内容,如果没有commit的话,切换回master分支还是可以看到的,但是当你commit之后,master就还是以前没有修改的状态,此时你切换到master,现实文件夹中就显示没有修改的状态,你切换到dev,现实文件夹中就显示已经修改的状态

合并分支

我们在分支当中完善了某些代码之后要和master分支进行合并

我们想要master分支是最完善的,想master合并dev分支,就切换到master分支下,

git merge dev

如果master新建了dev和dev2分支

dev有改动,dev2也有改动

dev先合并到了master中,然后此时的master和dev2一开始继承的那个master已经不一样了,所以版本相当于是差了2个,此时合并就会有冲突

会报conflict,并且状态变成了master|MERING

此时看git status

然后我们编辑有冲突的这个文件2.py

head是master当中的修改的

遇到这种冲突问题,和不同版本的作者协商要留下哪些,都留下的话就把<<<<<、>>>>>、======删掉了就好了

然后再add,commit

这时就合并成功了

就保留了2个版本的内容

在github上也可以创建分支

建立的时候只有一个

直接输dev可以创建dev分支

但是提交的时候本地分支和提交的分支要对应,要同名。本地是master远程也要是master,本地是dev远程也要是dev

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值