Git操作笔记

本文详细介绍了Git的本地仓库结构、用户配置、文件管理、状态查看、历史记录、分支操作以及远程仓库的交互,包括克隆、拉取、推送等。重点讲解了如何解决冲突和团队协作中的最佳实践,适合Git初学者和进阶者参考。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 个人git学习笔记(凌乱版):

Git本地仓库,Gitee,Github是远程托管仓库

Git本地仓库结构:
    工作区
    缓存区
    本地区

创建用户:
    git config --global user.name "**"
    git config --global user.email "**"
    git init
查看当前用户:
    git config user.name
    git config user.email
删除本地仓库:
    可直接手动删除.git文件

工作区-->暂存区:git add 文件名

暂存区-->本地库:git commit -m "注释" 文件名
    -m参数指的是指定一个参数,做一个注释

    不放在git仓库下的文件是不能够管理,即使是手动放在git仓库的文件git也是
    不管理的,必须通过add和commit命令才受git管理

git status 查看当前暂存区、工作区的状态

git log 查看修改历史记录

如果log记录太多,用空格向下查看,用b向前查看,q退出查看
更多简洁的展示方式:
    git log
    git log --pretty=oneline
    git log --oneline
    git reflog

前进后者后退到某个版本,即调整HEAD指针位置,依据key锁定
    git reset --hard ******* [*代表id]
    结果显示使用hard参数时,本地库改变时,暂存区和工作区都会重置
    git reset --mixed *******
    结果显示使用hard参数时,本地库改变时,暂存区重置工作区不动
    git reset --soft *******
    结果显示使用hard参数时,本地库改变时,暂存区和工作区都不会重置
    【使用最多的是hard参数】

删除文件
    rm demo2.txt 删除工作区的文件
    将删除操作同步到暂存区
    git add demo2.txt
    将删除操作同步到本地区
    git commit -m "删除demo2.txt" demo2.txt

比对工作区和暂存区的内容是否一致
    git diff test3.txt  内容"啊啊啊",添加"aaa"后工作区与暂存区不一致,使用diff比对
    git是按照行为单位来管理数据的,先删除 "啊啊啊" 再增加"啊啊啊aaa"

    多个文件的比对
    git diff 比对工作区与暂存区所有的文件差异

比对暂存区和比地区的文件差异
    git diff ***或者当前指针HEAD test3.txt
    [总结:因为本地区的文件都有id或者称为key所以暂存区与本地区比对时需要添加id]

---------------------------------------------------------------------------
分支:branch
        适用版本控制过程中,使用多条线同时推进多个任务,这里的多条线指的就是分支
        多个分支可以并行开发,互不耽误,如果一个分支开发失败,直接干掉就行,不会影响
    其它分支

查看分支
    git branch  [* master *代表所在分支]
    git branch -v
创建分支
    git branch 新文件名
切换分支
    git checkout 分支名
合并分支到主分支
    先切换到主分支git checkout master
    然后合并git merge 分支名
    期间发生了冲突:因为在文件的同一行做了修改,如何解决冲突:认为决定在文件中删除操作即可
    git commit -m "注释" [后面不要加任何文件名] 否则会出错

小试牛刀:
    1.创建本地库
    2.初始化
    3.创建远程库
    4.获取远程库地址(git对远程地址起别名)
    5.git remote -v
    git remote add 别名 https://github.com/....
    (fetch可以取东西,push推送)

    git push 别名/远程地址 push的分支

    exceeds 超过
    abundant足额的 超大的

克隆:
    clone操作:
        在某个盘符打开git bash,执行git clone 远程库地址即可
加入团队的push操作
    如果在一台笔记本上执行push到其它团队的仓库,因为git有本地缓存,得先清理缓存
    打开电脑,打开管理凭据删除缓存,然后push发现没有加入团队,让其他人邀请,在
    github的仓库中打开settings设置manage access

拉取操作pull
    相当于fetch+merge(谨慎起见)
    操作:
        1.git fetch 远程库地址 分支(读操作,相当于下载远程库的东西,但没有在自己的库中)
        抓取后可查看远程库内容(git checkout 远程库/分支)
        2.git merge 远程库/分支,合并之前应该切换到要合并到的分支

    也可直接操作:git pull 远程库 分支

团队协同:
        别人将修改的文件push后,你也修改了文件的情况下,双方不可知的,你自己再推送,
    会发生冲突,这个时候解决冲突的方式是先pull下来,人为解决冲突,然后提交,再推送

远程库之间是fork操作,从远程到本地是clone操作

跨团队协作:
    fork初创团队创建的库,clone到本地,你自己做了修改后,push到你自己fork的库,然后创建
    一个pull request请求。初创团队审核request,审核完之后,由初创团队merge操作

SSH免密登录,不需要每次使用git push时验证:
    1.cd ~进入到用户主目录
    2.ssh-keygen -t rsa -C 个人用户邮箱
    两步操作后会在用户目录创建.ssh目录,打开id_rad.pub复制里面的内容
    然后进入到github,进入settings打开SSH and GPG keys添加ssh key
    3.可以对远程地址起别名,git remote add 别名 远程库地址
    查看别名 git remote -v
    4.后续操作...

使用IDEA:
    拉取:git pull 远程库 分支 --allow-unrelated-histories
    推送: git push -u 远程库 分支 -f
        例: git push -u 远程库 master -f

    一般在开发中先pull拉取操作,再进行push操作

怎么解决冲突:
    1.团队开发中避免在一个文件中改代码,分工明确
    2.在修改一个文件时,先pull拉取修改,再push

    其实就是怎么拉取,怎么提交,怎么解决冲突

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值