git一些操作

git

MAC全局配置git

git config --global user.name xxxxx
git config --global user.email xxx@x

流程

在这里插入图片描述

  • Working Directory :当前工作目录文件夹
  • Stage :暂存区
  • Repository :代码仓库(提交代码最终归宿)

·git clone 仓库地址
git clone -b dev 代码仓库地址 (dev是分支名称)

复制仓库到本地,命令行进入 本地仓库
克隆做 三个事

  • 完整的把远程库下载到本地
  • 创建origin远程地址别名
  • 初始化本地库
    cd 进入xj

git add .

(空格 。 添加文件夹所有) 从当前文件夹添加文件到暂存区域,以便于git追踪. 已经被跟踪的 不需要再次add;但是解决冲突的时候 需要重新对文件 add

git commit -m "上传信息"

从暂存区域提交代码到代码仓库,提交说明为 “ "
git remote add origin url (仓库地址) origin 代表 别名
在推送之前 要做一个设置别名的操作
fetch 代表取回
push 推送
在这里插入图片描述
git push -u origin master 推送

拉取
pull = fetch +merge
其他团队成员推送以后,自己需要pull(拉取)下来;
git fetch 远程库地址别名 远程分支名
git merge 远程库地址别名/远程分支名

常用命令行

git status 查看git仓库当前的状态

如有没有 工作区文件未添加到暂存区(Untracked),工作区文件修改未提交到暂存区(Unstaged),暂存区的文件未提交到仓库(Changes to be committed)等等,有问题解决问题。当仓库与工作区,暂存区文件一致时,提示应该是”nothing to commit, working tree clean“

git diff
用来比较仓库,暂存区,工作目录的不同(用法很多)

git reset
git reset HEAD~用来回退到上个提交的版本,做了两件事:

1.修改了HEAD(指针)指向(仓库当前版本回退到上个),

2.将仓库上个版本的文件覆盖到暂存区域,用以丢弃上次的提交,(工作目录,文件夹中的文件还没变)
git reset HEAD~~ 返回 上上个

git log 查看版本提交记录

git log --oneline --decorate --all --graph 显示简单摘要

git reflog 显示移动到当前版本需要移动几步;配合版本管理使用

git checkout
git reset一样拥有超多功能,切换分支,回复文件到工作目录,等等

git branch
创建分支 git branch xxx

git merge
合并分支

版本管理
  • 基于索引值
    git reset --hard 723wef (hard 硬)
    723wef 为索引值
  • 使用^ (只能往后退一步)
    git reset --hard HEAD^
    git reset --hard HEAD~3 :回退三步
reset三个参数命令对比
  • –hard 本地库 暂存区 工作区都会被修改
  • –soft 仅仅在本地库移动指针
  • –mixed 会在本地库移动指针 并在暂存区重置
比较文件

git diff
git diff 文件名:将工作区中的文件和暂存区进行比较
git diff 本地库历史版本(HEAD^) 文件名:将工作区中的文件和本地哭库历史记录比较

分支的一些操作

git branch:列出本地已经存在的分支,并且当前分支会用*标记
git branch -r: 查看远程版本库的分支列表

  • 创建分支
    git branch 新分支名称
  • 切换分支
    git checkout 分支名称
  • 创建分支的同时,切换到该分支上
    git checkout -b 新分支名称

PUll拉取到本地

  • 指定远程分支,和本地分支
    git pull origin 远程分支名称:本地分支名称
  • 如果不写本地分支名称,则默认和远程分支同名 ,命令如下:
    git pull origin 远程分支名称:

将新的分支推送到远程仓库

git push origin 分支名称

删除分支

1、删除本地分支(不能删除当前所在的分支,如果要删除,必须先切换到其他分支上)

git branch -d 分支名称
如果删除时报错:error: The branch ‘分支名称’ is not fully merged. (意思是:分支未完全合并)。解决方法是使用 -D 强制删除,代码如下:

git branch -D 分支名称
2、删除远程分支
git push origin --delete 分支名称

合并分支

1、假如我们现在位于分支dav上,刚开发完自己负责的功能,执行了下列命令:

git add .
git commit -m ‘某某功能已完成,提交到[分支名称]分支’
git push -u origin 分支名称
2、首先切换到master分支上

git checkout master
3、如果是多人开发的话,需要把远程master分支上的代码pull下来

git pull origin master
4、然后把dev分支的代码合并到master上

git merge 分支名称
如果git merge的时候出现冲突,可以执行下面的命令取消merge:

git merge --abort:
5、然后查看状态

git status

6、最后一步,Push推送到远程仓库

git push origin master

合并分支产生错误

在这里插入图片描述
当前分支内容;在这里插入图片描述
另外分支内容

解决步骤:

  • 编辑文件,删除特殊的符号

  • 把文件修改到满意的程度,保存退出

  • git add[文件名]

  • git commit -m “修改信息”

    • 此时的commit一定不能 带具体的文件名(commit不带文件名就是把暂存区的所有文件提交)

    跨团队协作

    • 乙方 fork
    • 将项目克隆下来,修改
    • 然后提交到远程库
    • Pull requests =》new requests => create pull requests
      甲方 在点击Pull requests =》commits 查看乙方做了哪些提交 files changed 查看具体修改的内容(审核代码)=》merge pull requests => 填写本次操作的日志

一些其他操作

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

gis_KG

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值