zoukankan      html  css  js  c++  java
  • git基本操作(适合新手)

    本人也是刚刚开始学习 大家可以一起交流,大佬可以在教一下

    目录

    1. git配置
    2. git本地仓库
    3. SSH提交方式,git提交远程仓库

    一、git配置

    git config --global user.name 你的英文名
    git config --global user.email 你的邮箱
    git config --global push.default simple //simple必须保证本地分支和它的远程upstream分支同名,否则会拒绝push操作。
    git config --global core.quotepath false //解决中文乱码问题
    git config --global core.editor "code --wait" //默认文本编辑器 vscode打开
    git config --global core.autocrlf input // 在提交时把CRLF转换成LF,签出时不转换
    
    注意:上面的英文名和邮箱跟 GitHub 没有关系,可以一样也可以不一样
    
     可能写的有问题,可自行百度6行配置的翻译
    
    git config --gloval --list 查看配置
    

    二、git本地仓库

    新建目录 git-demo

    git init // 初始化
    

    注意:git init 只是创建 .git目录(隐藏的) 他的功能类似于快照
    

    创建一个html文件,用来做操作

    开始操作

    git add index.html // 标记index.html
    

    git status -sb // 查看需要提交的文件
    

    A 代表git add
    还有别的状态,后面给介绍

     git commit -v //提交并且打开默认编辑器,如果git6行配置你配置了,就会打开vscode 如果没有会打开vim编辑器
    

    静静等待你的电脑端打开vsCode


    打开成功会是这样的:


    会让你看到代码里那块修改了,那块删除了 可以多写一点提交理由(在第一行写)

    写完保存->关闭
    

    回滚版本

     git log // 查看版本
    

    git logo查看一下提交过的版本信息,注意commit版本号

    git reset --hard 5ea4ce // 回滚到第一个版本
    



    成功

    在查看一下版本(git log


    已经回到最初的版本了。

    注意:回滚完了就找不到之前的版本了
    

    这里说一个高级操作 git reflog 查看全部版本历史
    (手动斜眼笑)

    想回滚到那个版本都可以了

    注意:运行 reset 命令前,一定要确保重要代码已经提交(commit)了,如果只是` git add `了但是没有` git commit ` 在回滚版本会丢失文件。版本号可以是6位也可以是4位只要保证是唯一的就可以
    

    分支

     git branch a // 创建a分支
    


    会基于本地仓库里最新一次 commit,创建一个新的分支 a

     git checkout a // 切换到a分支
    


    文档改一下内容


    git add -> git commit 一下

     git branch // 查看分支 带 * 号是当前分支
    

     git branch -d x // 删除分支,x新创建的分支
    

    如果没有合并代码,git branch -d x 会报错,如果必须删这个分支,可以使用 git branch -D x

    合并分支

     git merge a // 合并分支
    
    注: 最好切换到master分支,保留主分支(master)
    

    解决冲突

    合并分支和git pull时遇到的冲突,会报CONFLICT错误

    可以使用 git status -sb查看冲突文件
    切换到a分支 修改了 h1标签里的内容导致了冲突 因为master和a分支都写了这个地方,在vscode里就会出现冲突提示


    UU :2个分支都修改了此文件


    vsocde会提示冲突

    解决冲突的方式:

    • 可以选择上面,也可以选择下面,甚至都可以选择
    • 删除不需要的代码,(==== >>>> <<<<)
    • 最次 git status -sb 修改下一个文件
    • git add 对应的文件
    • 没有冲突了,在commit一下

    我选择了保留双方更改

    三、SSH提交方式,git提交远程仓库

    github创建一个仓库

    接下来生成SSH

     ssh-keygen -t rsa -b 4096 -C 邮箱
    

    成功:

    执行中 连续按3次回车就可以了,成功就会出现小气泡

    失败

    出现 Overwrite(y/n) 表示失败 请去默认保存地址去删除SSH
    或者备份

    • id_res 私钥
    • id_rsa.pub 公钥、

    自己保留私钥,gitHub设置公钥

    注意:私钥不要给别人看,也不要发给别人
    

    设置gitHub的公钥


    进入默认ssh存放目录 打开 id_rsa.pub 文件 复制进 key里 然后点 Add SSH key就可以了

    添加时需要验证一次密码

    验证SSH

    ssh -T git@github.com // 如果问你(yes/no) 输入yes回车
    

    注:SSH和HTTPS的下载 SSH是不需要输入密码的,HTTPS是需要每次需要密码的
    


    好了SSH的配置就结束了,现在开始提交gitHub

    提交gitHub

     git remote add origin git@github.com:GeFei-someone/gitdemo-2.git // 连接远程仓库 
    

    git pull origin master // 更新  提交前最好先更新一下 如果代码没有别的同事修改,就可以直接提交
    
     git push -u origin master //提交 -u:记住这次操作 下次只需要 git push 就可以了
    


    提交成功!!!
    如果你是一个空目录 需要从github上克隆代码需要使用:

    一定要切换到SSH上复制

    git clone origin git@github.com:GeFei-someone/gitdemo-2.git // 克隆项目
    git clone origin git@github.com:GeFei-someone/gitdemo-2.git yyy // 克隆项目并且重命名为 yyy
    git clone git@github.com:feiwen1119/git-demo-1.git . // 考虑项目不重新创建目录,使用当前目录容纳代码
    
    注:当前目录最好是空目录
    


    成功!!!

    之前在掘金写的,发现对别人帮助不是很大,所以还是放在这里吧,

  • 相关阅读:
    android ndk 调试问题
    音频
    文件分割与c语言文件结
    本机抓包
    rtm匹 转
    mac 工具等效率
    【MySQL】Explain Tutorial
    Sed基本入门[5] Sed Hold and Pattern Space Commands
    Sed基本入门[3] Regular Expressions
    Protocol Buffer Basics
  • 原文地址:https://www.cnblogs.com/feiyu159/p/14149931.html
Copyright © 2011-2022 走看看