美文网首页
Windows下的Git多账号控制及使用

Windows下的Git多账号控制及使用

作者: 黑白格_0ca6 | 来源:发表于2019-10-14 19:41 被阅读0次

参考链接

  1. Windows下Git的安装与使用(一)
  2. 配置同时使用 Gitlab、Github、Gitee(码云) 共存的开发环境
  3. windows下git关联多个账号
  4. Git使用教程
  5. Github中文教程

问题处理

  1. 如何去解决fatal: refusing to merge unrelated

多版本控制注意事项

  • 在写config文件的时候,可以不使用缩进,且文件中不能有中文
  • 出现以下情况选择yes即可


  • 成功提示


    成功授权SSH

Git使用

  1. 创建版本库
  • 在需要的目录下新建test文件夹
  • 在text文件夹下,使用git init使得test文件夹被git管理
  • 新建readme.txt并写入内容
  • cat readme.txt可以查看文件内容
  • git add readme.txt将文件添加到暂存区
  • git commit -m "一些注释"来添加注释,并将文件从缓存区添加至仓库
  • git status查看是否还有文件未提交或者被修改
  • git diff readme.txt查看文件的修改内容
  1. 版本回退
  • git log查看历史记录,记录由近及远排列,git log --pretty=oneline将log记录按行显示,比较简洁
  • git reset --hard HEAD^将版本回退至上一次,git reset --hard HEAD^^将版本回退至上上次,git reset --hard HEAD~100将版本回退至前100次
  • git reflog可以得到每一次提交后的版本号,如6fcfc89
  • git reset --hard 6fcfc89可以恢复误删的版本
  1. 工作区与暂存区的区别

工作区:就是你在电脑上看到的目录,比如目录下testgit里的文件(.git隐藏目录版本库除外)。或者以后需要再新建的目录文件等等都属于工作区范畴。
版本库(Repository):工作区有一个隐藏目录.git,这个不属于工作区,这是版本库。其中版本库里面存了很多东西,其中最重要的就是stage(暂存区),还有Git为我们自动创建了第一个分支master,以及指向master的一个指针HEAD。

可以先将工作区的内容分别用git add file添加到暂存区,再通过git commit -m "一些注释"一次性提交到仓库

  1. 撤销修改和删除文件
    4.1 撤销修改
    1)知道哪里要改,直接手动修改
    2)恢复到上个版本git reset --hard HEAD^
    3)git checkout -- b.txt可以丢弃工作区的修改,退回到文件在缓存区的状态
    4.2 删除文件
    1)直接在文件目录中删除
    2)rm readme.txt后进行git commit -m "一些注释"进行彻底删除
    3)rm readme.txt后进行git checkout -- readme.txt恢复误删文件
  2. 从本地到远程
git remote add origin https://github.com/tugenhua0707/testgit.git
git push -u origin master

我们第一次推送master分支时,加上了 –u参数(融合的意思),Git不但会把本地的master分支内容推送的远程新的master分支,还会把本地的master分支和远程的master分支关联起来,在以后的推送或者拉取时就可以简化命令git push origin master,或者说是git push https://github.com/tugenhua0707/testgit.git master

  1. 从远程到本地(clone)
git clone https://github.com/tugenhua0707/testgit
  1. 创建与合并分支
  • git checkout -b dev创建并切换到dev分支
  • git branch列出所有分支,当前分支前有*
    在dev分支修改的文件内容,在master主分支上不会出现
  • git checkout master切换到主分支,在master下,git merge dev将dev分支合并到master中
  • git branch -d dev删除dev分支
  1. 当文件同时在master与dev下作了修改,如何解决冲突?
  • git merge dev会报错:merge conflict in...
  • git status查看状态显示both modified
  • cat b.txt可以看到文件内容中有冲突代码
    Git用<<<<<<<,=======,>>>>>>>标记出不同分支的内容,其中<<<HEAD是指主分支修改的内容,>>>>>dev 是指fdev上修改的内容
    根据需求修改文件后再提交即可
  1. 分支管理策略
  2. Bug分支
  3. 多人协作
  4. 只clone子文件夹
    工具:tortoisesvn,选择好版本后,下面有语言包也可以下载,先安装上面的工具包,再安装语言包。鼠标右击,在“设置”中将语言设置为“简体中文”即可。
    使用方法:如何从GitHub上下载一个项目中的单个文件或者子文件夹

问题注意

  • 通过撤销命令让其回到暂存区后的状态命令:git checkout -- readme.txt 中的 -- 很重要,如果没有 -- 的话,那么命令变成创建分支了
  • Git Bash不可以用ctrl+v进行快速粘贴,即使没有任何字符也会报错,直接右键paste就可以了
  • 复制的快捷键是ctrl+shift+c
  • 提示“Please tell me who you are”的时候,通过git config --local user.name "zwj"git config --local user.email "zwj@163.com"来创建本地仓库的用户名及邮箱,我未选择--global参数,怕污染。
  • 在Gitee中创建一个仓库会默认附加readme文件,这样将本地仓库上传的时候会出错,具体参考如何去解决fatal: refusing to merge unrelated
    如果一开始不勾选readme文件,则会有简易教程(同Github)
    Gitee本地仓库上传步骤

相关文章

网友评论

      本文标题:Windows下的Git多账号控制及使用

      本文链接:https://www.haomeiwen.com/subject/pdglmctx.html