zoukankan      html  css  js  c++  java
  • Git备查丶

    也许你不会感到惊讶,主张强化知识产权法规的,正是那些从知识产权中获利最多的组织。不是艺术家或创造者自己,而是那些知识产权交易所,那些靠别人的创造力挣钱的公司。对了,当然还有律师。

    开源、共享,Linux、Git等,这个人整出来的东西,都是同一类理念!

    img

    概念

    分布式版本控制:每个人都在本地仓库拥有全部的代码:push、fork

    img

    题外话:关于下载国外的软件很慢的情况,通常去找国内淘宝的镜像即可。

    配置

    # 查看所有配置
    $ git config -l
    # 查看系统配置
    $ git config --system --list
    # 全局配置
    $ git config --global --list
    

    系统配置文件

    image-20201023174439692

    用户配置文件

    image-20201023182218025

    设置用户

    $ git config --global user.name "runoob"
    $ git config --global user.email test@runoob.com
    

    免密提交

    安装了git就有如下目录,执行ssh-keygen -t rsa

    image-20201023200111528

    把生成的公钥粘贴到远程仓库设置SSH的地方即可(https克隆的可能不会生效)

    # 改https为ssh(切换到对应目录下)
    git remote -v
    git remote rm origin
    git remote add origin git@github.com:ChenCurry/notes.git
    git remote -v
    # 或
    # origin代表远程的源
    git remote -v
    git remote set-url origin git@github.com:ChenCurry/notes.git
    git remote -v
    # 然后
    git push --set-upstream origin main
    # 提交的时候输入yes!!而不是直接回车
    

    模型

    • 工作区:平时写的代码/修改的内容。
      • 想要撤销更改可以用(慎用):git restore *.md
    • 暂存区:英文叫 stage 或 index;一般存放在 .git 目录下的 index 文件中,所以暂存区有时也叫作索引;
      • git add .或git add *.md将修改的内容提交到暂存区;
      • 状态由untracked/tracked/unmodify/modified变为staged
      • 想要撤回可以git restore --staged *.md或git restore --staged .
    • 版本库:工作区有一个隐藏目录 .git,这个不算工作区,而是 Git 的版本库。
      • git commit -m(表示message) "xxx"提交到版本库
      • 后悔commit这个动作可以使用这个后悔药:git reset HEAD^
    • 远程仓库:git push推送到远程(因为git概念中,远程和本地是同级别的)

    img

    img

    关注开源许可证

    image-20201023210701946

    image-20201023210946576

    操作大全

    https://gitee.com/all-about-git

    https://www.runoob.com/git/git-branch.html

    案例:Idea配置忽略文件

    忽略的文件不会提交到仓库中去

    image-20201023201709564

    *.txt     	#忽略以啥啥啥结尾的文件
    !lib.txt	#但lib.txt除外
    /temp		#
    			#某个具体的文件名
    build/		#忽略某个目录下的所有内容
    doc/*.txt	#忽略某个文件夹下的某类文件
    

    操作的话,项目右键Git操作很方便提交到本地仓库,可以在Terminal推送到远程仓库。关注文件名颜色变化。

    案例:Git Bash中文乱码

    # 中文文件名乱码(git status、git log、git pull 、git push)
    # 不对0x80以上的字符进行quote,解决git status/commit时中文文件名乱码
    git config --global core.quotepath false
    

    案例:分支合并

    # 创建分支命令
    git branch (branchname)
    # 切换分支命令
    git checkout (branchname)
    # 列出分支
    git branch
    git branch -r
    # 删除分支命令
    git branch -d (branchname)
    # 准备合并分支
    $ git branch
    * master
      newtest
    $ ls
    README        test.txt
    # 合并分支
    $ git merge newtest
    

    案例:合并时冲突

    git merge change_site
    git diff
    git status -s
    git add # 告诉 Git 文件冲突已经解决
    git commit
    

    案例:远程强制覆盖本地

    # 方法一 清除本地修改+拉代码
    git reset --hard
    git pull
    
    # 方法二 
    git fetch --all && git reset --hard origin/master && git pull
    

    案例:文件被修改了,但未执行git add操作,想撤销!

    git checkout fileName
    git checkout .
    

    案例:同时对多个文件执行了git add操作,但本次只想提交其中一部分文件

    $ git add *
    $ git status
    # 取消暂存
    $ git reset HEAD <filename>
    

    案例:文件执行了git add操作,但想撤销对其的修改(index内回滚)

    # 取消暂存
    git reset HEAD fileName
    # 撤销修改
    git checkout fileName
    

    案例:修改的文件已被git commit,但想再次修改不再产生新的Commit

    # 修改最后一次提交 
    $ git add sample.txt
    $ git commit --amend -m "说明"
    

    案例:已在本地进行了多次git commit操作,现在想撤销到其中某次Commit

    git reset [--hard|soft|mixed|merge|keep] [commit|HEAD]
    
    击石乃有火,不击元无烟!!
  • 相关阅读:
    1.vue-1
    7.Docker -- 虚拟服务器
    11.Django -- 中间件
    10.Django -- csrf -- 文件上传
    9.djang -- cookie和session
    8.Django --Ajax
    YOLO v1原理详解
    带你一文读懂Faster RCNN论文
    Week13
    Week12
  • 原文地址:https://www.cnblogs.com/rain2020/p/13896598.html
Copyright © 2011-2022 走看看