Git 的正确使用姿势与最佳实践| 青训营

124 阅读7分钟

git

常用流程

  1. git克隆仓库到本地空文件夹中:git clone "" :(之后可移动文件夹:.git文件夹代表git的本地目录)
  2. idea打开git工程,checkout 远程仓库要用来间接同步到main的分支,删除本地原来的main分支,之后的修改用该分支同步到远程仓库,远程仓库确认后再合并到main分支即可。
  3. 常用同步命令:git + add . / commit -m "描述" / push origin 分支名(之若不需改变分支push即可)
    1. git checkout -b dev origin/dev这个命令. 它意思是说.切换到dev分支上,接着跟 远程的origin地址上的dev分支关联起来

Git简介

  • Git 是一种分布式版本控制系统,它可以不受网络连接的限制,加上其它众多优点,目前已经成为程序开发人员做项目版本管理时的首选,非开发人员也可以用 Git 来做自己的文档版本管理工具。

开源项目贡献流程

  1. 新建Issue:提交使用问题或建议和想法
    • 在软件开发过程中,开发者为了跟踪BUG及进行软件相关讨论,进而方便管理,创建了Issue。作为BTS(Bug Tracking System,BUG跟踪系统)。功能如下:
    • 发现软件的BUG并报告
    • 有事想向作者咨询、探讨
    • 事先列出今后准备实施的任务
  2. Pull requests是用户修改代码后向堆放仓库发送采纳请求的功能,也是GitHub的核心功能。
    1. fork克隆项目
    2. 修改自己仓库克隆的项目代码
    3. 新建 Pull requests发送给原作者。
    4. 等待原作者操作(是否合并采纳修改)
    • 在列表中点击特定的Pull Request就会进入详细页面。页面上方显示着这次是从谁的哪个分支向谁的哪个分支发送了Pull Request。
    • 在Conversation标签页中,可以查看与当前Pull Request相关的所有评论以及提交的历史记录。人们在这里添加评论互相探讨,发送提交落实讨论内容的整个过程会按照时间顺序列出,供用户查看。选中需要引用的评论内容,按r就能引用评论。

git 操作流程

  • 流程简述:安装git后,若想上传代码到云端,需要建立密钥文件,公钥复制到云端,在本地通过ssh验证身份后,git克隆仓库到本地,在本地将其设置为仓库,修改代码后,三步上传到云端。
  • 常用命令:git add、commit -m "描述"、push origin master(分支名)、pull

安装及配置 镜像站

  • Windows生成SSH-key密钥身份认证------新环境需配置

    1. Git Bash中输入ssh-keygen -t rsa -C "*@qq.com" 一直回车确认
    2. 查看生成的公钥 cat ~/.ssh/id_rsa.pub@
    3. 上传公钥到云端仓库ssh认证中(如github): github.com/settings/ke…
    4. Git Bash中输入ssh git@github.com验证,显示一下内容则验证成功,第一次的会提示是否continue,输入yes。 $ ssh git@github.com
      PTY allocation request failed on channel 0
      Hi wq*! You've successfully authenticated, but GitHub does not provide shell access.
      Connection to github.com closed.
    5. 配置一下身份,这样在提交代码的时候Git就可以知道是谁提交的了。打开Git Bash,输入下面的命令 git config --global user.name "wq"*
      git config --global user.email "*@qq.com"每次代码提交的时候都会生成一条提交记录,其中会包含当前配置的用户名和邮箱。) 配置完成后可以用同样的命令查看是否配置成功,将最后的名字和邮箱地址去掉即可。

工作流程---三个区域:工作区、暂存区、版本库

  • 进去待定的本地仓库文件夹中输入命令:git init 这样即可完成创建代码仓库的操作
  1. 本地工作区:能看到的区域,我们在工作区修改增加代码
  2. 文件保存添加到暂存区:数据暂时存放的区域。
    1. git status查看文件状态改动文件未提交到暂存区
    2. 添加文件变动到暂存区:git add 文件名文件已提交到暂存区
  3. 版本库(commit History):最终统一上传到git仓库存放已经提交的数据,push 的时候,就是把这个区的数据 push 到远程git仓库了。
    1. 查看文件变动状态:git status
    2. 提交文件变动到版本库:*git commit -m "提交描述"通过 -m 参数可直接在命令行里输入提交描述文本
  4. 新建分支:
    • 新建的同时直接切换到新建分支:git checkout -b 分支名
  5. 切换到其他分支:git checkout 分支名
  6. 通过git删除文件
    1. rm -rf 文件名
    2. git rm 文件名
    3. git commit -m "提交描述" 提交文件到本地仓库的分支
  7. 查看修改内容:有时我们写项目写到后面忘记了前面修改什么东西了,我们可以使用Git查看自上次提交后文件修改的内容。
    1. git status 如果刚提交过代码,提示目前项目中没有任何可提交的文件。如果上次提交后做过了一些改动,Git会提醒哪个文件发生了更改。(改动文件未提交到暂存区)
    2. 借助diff命令可以看到所有文件的更改内容:git diff
  8. 撤销未提交的修改,将正常的功能的代码修改出了问题。只要代码还没提交,所有修改的内容都是可以撤销的。git checkout 文件名
    • 不过这种撤销方式只适用于那些还没执行过add命令的文件。如果我们想要对一个已经添加过的文件撤销修改,那么我们要先使用reset命令对其取消添加,然后才可以撤回提交。用法如下:git reset 文件名然后再使用checkout命令将修改的内容进行撤销。
  9. 使用log命令查看历史提交信息:git log每次提交记录都会显示提交id、提交人、提交日期及提交描述这四个信息。
    • 如果想要查看这条提交记录具体修改了什么内容,可以在命令中加入 -p参数:git log ‘ID’ -1 -p
    • 按 J 键往下翻,按 K 键往上翻,按 Q 键退出查看
  10. 分支的主要作用就是在现有代码的基础上开辟一个分叉口,使得代码可以在主干线和分支线上同时进行开发,且相互之间不会影响。
    • 可以使用git branch查看。如果项目中没有创建过任何分支,那么只会有一个master分支存在,也就是主干线。
    • 创建分支:git branch 分支名
    • 删除分支:git branch -D 分支名
    • 重命名分支名为 daily/0.0.1:git branch -m daily/0.0.0 daily/0.0.1
    • 切换分支:git checkout 分支名,当前编辑分支前有*号。
    • 在某个分支上修改并提交的代码不会影响到其他的分支,在2分支上修复了一个bug,在master这个分支上这个bug依然存在,
      • 我们可以进入git checkout master目标分支,使用git merge 2merge命令把2分支上修改并提交的内容合并到master分支上了。
  11. 为项目标记里程碑:git tag publish/0.0.1,当重大版本准备发布上线时,将此次完整的项目代码做个标记再发布。
  12. 设置哪些内容不需要推送到服务器的配置文件:touch .gitignore,每一行代表一个要忽略上传的文件或目录