关于git常用操作

git统称为仓库response。它分为工作区和.git区,工作区就是除开.git文件夹的当前文件夹。.git区又包含暂存区,head指针和分支信息。

工作区和暂存区当存在修改内容时,是无法pull push merage等操作的。工作区和暂存区修改内容所有分区都能看见。只有把他们commit到某一个分支后,其他分支才看不到。

命令:

git add

提交到暂存区

git add .不包括删除文件

git add -u 不提交新建文件

git add -A   git add -all上面2个命令的集合。

暂存区文件所有分支都能看,但是提交暂存区只能提交到某一个指定分支。

git commit

暂存区提交到当前分支

git commit -m '描述' 暂存区提交到当前分支

git status 

查看本地仓库状态(在工作区、暂存区有无文件、解决冲突时查看具体冲突文件名等):

git branch 

分支信息相关

git branch yss 创建分支

git branch -a 查看所有分支包括远程分支

git branch -vv查看本地分支和远程分支的关联信息。

git branch --set-upstream-to=origin/dev设置本地分支和远程分支的关联:

解释:当前分支关联到远程的dev分支。注意仓库关联是先建立好了的,分支关联是后建立的。

git checkout

git checkout -b yss 创建分支并head指向该分支(切换到该分支)

git checkout -b dev origin/dev  创建分支并head指向该分支并关联远程分支

git checkout yss 切换分支

git checkout . 清除修改文件(未add和commit的),该命令只能清除修改文件,对于新增的文件和文件夹清除需要执行

git clean

git clean -d清除新增文件(未add和commit的)

git reset

回滚

git reset .已经add了的用该命令重置。

git reset <时间id> 已经commit了的,使用该方法回滚。可以通过git log --oneline --all –graph查看回到指定时间线。

git pull

拉取:注意暂存区和工作区有修改内容,是无法pull的。

git push

推送:同样暂存区和工作区有修改内容,是无法push的。

git merge

合并git merge dev  解释:把dev分支merge到当前分支。

git remote

远程仓库

git remote -v查看本地仓库关联的远程仓库地址

git log

查看所有分支合并信息

git log --oneline --all --graph

--oneline显示单行  --all所有分支   --graph左侧显示时间线

 

常用命令:

git log --oneline --all –graph

git status

git checkout master

git merge dev 注意是当前分支被dev合并。

git的回滚以及撤销

1、还未进行add和commit操作

git checkout .

该命令只能清除修改文件,对于新增的文件和文件夹清除需要执行

git clean -d

2、对于已经add了的

git reset .

已经add了的用该命令重置。

3、对于已经执行了commit命令的分支。

git reset <时间id>

可以通过git log --oneline --all –graph查看回到指定时间线。

规范操作:

1、关联一个本地分支和远程分支做为pull和push用,如dev分支。

2、在本地新建一个yss分支做为本地开发使用

操作步骤:

1、先把dev分支pull一次,保障本地最新。

2、创建个本地分支yss,切换到yss分支,并merge dev分支到yss,保证yss最新。

3、在yss分支上写代码。

4、写完代码后,把所有工作区修改内容commit到yss分支上。

5、切换到dev分支,从git服务器重新pull一次最新代码,注意一定要先pull一次,保证把服务器代码最新的pull到本地dev分支。

6、merge yss分支到dev分支上。

7、再把dev分支push到远程dev分支上。

解决冲突:

步骤6很容易出现冲突,原因在于yss分支操作的时候,别人在服务器上push了文件,而文件被dev分支pull下来后与yss的文件有冲突。解决方法:

1。当执行了merge却有冲突时,此时处于一种暂时分支状态,在该状态上使用git status查看冲突文件。如果是文本文件,可以直接查看冲突位置进行修复。

2.也可以退出暂时分支(退出命令在git status查看时可以看到退出命令),把dev分支最新的冲突文件覆盖yss分支,当然这样yss分支上的修改就被丢失了。然后重新提交合并等操作。

创建本地分支,并与远程分支关联

1、git init  //初始化git

2、git remote add origin <git仓库地址>  添加远程仓库地址

3、git pull  拉取

4、git checkout master

注意当初始化一个git本地仓库的时候,由于并没有commit过,所以head指针不会指向任何分支,查看分支信息的时候是不会显示任何分支。

由于没有本地文件创建修改,此时执行git add . 和git commit -m也是无效的。

要使本地分支和远程分支关联,此时需要git pull远程仓库,再执行一次切换到master分支,就会自动关联这个分支。

注意当本地先有相同名字的分支后,再执行git pull,再切换才会自动关联上。所以先创建多个和远程分支相同名字的分支,再pull再切换本地分支,就会都关联上。

重命名本地分支和远程分支:
git branch -m oldbranchname newbanchname//重命名本地分支
git push origin :oldbranchname//删除对应远程分支
git push origin newbranchname//本地重命名分支提交到仓库上

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值