首页 > 其他 > 详细

Git随笔一记

时间:2020-10-22 22:29:00      阅读:28      评论:0      收藏:0      [点我收藏+]

Git

Git的配置

1.初始化配置文件

  • git config --global user.name "用户名"
    git config --global user.email "邮箱"

2. 初始化秘钥

  • 检查是否有秘钥
    cd ~/.ssh检查文件夹是否为空,秘钥文件名为id_rsa.pub
  • 生成秘钥
    ssh-keygen -t rsa -C "git注册邮箱"

3. 配置GitHub仓库(gitee同理)

  • GitHub绑定秘钥:
    Settings ==> SSH and GPG keys ==> 填写本机生成的Key
  • 验证秘钥是否生效:
    ssh -T git@github.com 如果使用gitee则替换github

4. Git连接仓库

  • 在云端中创建一个仓库
  • 创建好仓库后在本地目录下创建一个文件夹 在文件夹内右键git bash here
  • 输入git init生成.git文件
  • 输入git remote add (起一个分支标签名) git@github.com:yourName/repositoryname.git进行仓库连接
    使用gitee:git remote add (起一个分支标签名) git@gitee:仓库页面地址

Git常用操作

1. 上传-下载

  • 在使用github时,可能会因为没有README.md文件而报错,此时可能需要添加该文件
    echo "# XXXXX项目名" >> README.md
  • git init #初始化本地文件夹,生成.git文件夹
  • git remote add (分支标签名) git@git #链接云端仓库
  • git add . #将文件暂存至缓存区
  • git commit -m "注释" #提交修改
  • git remote rm XXX #删除一个标签
  • git remote -v #查看已经存在标签
  • git pull XXX master #下载
  • git push XXX master #上传

2. Git常见错误整理

  • error: src refspec master does not match any. error: failed to push some refs to‘git@github.com:XXXXXXX/XXXXXX.git‘
    目录下没有文件,不能提交。解决方法为执行:
    echo "# XXXXX项目名" >> README.md
    git add README.md
    git commit -m "注释"

  • Could not read from remote repository. Please make sure you have the correct access rights and the repository exists.
    缓存区没有文件。解决方法为执行:
    git add .

  • Could not read from remote repository. Please make sure you have the correct access rights and the repository exists.
    简单粗暴改连接方式:
    git remote set-url origin https://github.com/XXXXX/XXXX.git

  • error: Pulling is not possible because you have unmerged files.
    下载合并分支冲突与上传合并分支冲突
    下载冲突解决办法:git add -u ---> git commint -m ""
    上传冲突解决办法:git push -f XXX master | git pull XXXX master ---> git push XXX master(二选一)

  • 以云端内容强制覆盖本地
    git fetch --all //只是下载代码到本地,不进行合并操作
    git reset --hard origin/master //把HEAD指向最新下载的版本
    git pull

回滚

git rest的三种参数

选项 HEAD 索引 工作目录
--soft
--mixed
--hard

代码回滚的三种场景

1. 还未进行push操作

  • 本地仓库未提交的操作被称为撤销
  1. 文件修改后没有进行add操作
    git checkout filename
    git checkout .
  2. 多个文件已经add,但是只想提交某一部分
    git add * git status
    取消暂存
    `git reset HEAD
  3. 文件已经add,但是想撤销修改(index内回滚)
    取消暂存
    git reset HEAD filename ==撤销修改== git checkout filename
  4. 文件已经commit提交了,但是想修改后不产生新的commit
    修改最后一次提交
    git add xxxx.xx git commit -amend -m ""
  5. 本地多次commit,想撤销某一次
    `git reset [--hard|soft|mixed|merge|keep] [commit|HEAD]

2. 已经进行了push操作

  • 这种已经进行了push操作的撤销我们成为回滚。切记在回滚前备份
  1. 如果每次都打tag,那么
    git checkout tag git checkout <branch_name>
  2. 撤销指定文件到指定版本
    查看指定文件的历史版本
    git log <filename> 回滚到指定commitID git checkout
  3. 删除最后一次远程提交
    3.1 revert
    git revert HEAD git push origin master
    3.2 reset
    git reset --hard HEAD^ git push origin master -f
    revert 是放弃指定提交的修改,但是会生成一次新的提交,需要填写提交注释,以前的历史记录都在
    reset 是指将HEAD指针指到指定提交,历史记录中不会出现放弃的提交记录
  4. 回滚某次提交
    git log 找到需要回滚的id git revert commitID

3. 删除某次提交

git log --oneline -n5git rebase -i "commit id"^
=需要注意最后的^号,意思是commit id的前一次提交==
在编辑框中删除相关commit,如pick 5b3ba7a test2,然后保存退出(如果遇到冲突需要先解决冲突)!
`git push origin master -f

文章内容输出来源:拉勾教育大数据高薪训练营

Git随笔一记

原文:https://www.cnblogs.com/mylearnpark/p/13323913.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!