Git基本知识与GitHub的使用

266 阅读2分钟

Git 初入

1. 配置

如果是第一次使用 Git,你需要设置署名和邮箱:

$ git config --global user.name "用户名"
$ git config --global user.email "电子邮箱"

2. 克隆仓库代码到本地、切分支

将代码仓库 clone 到本地,其实就是将代码复制到你的机器里,并交由 Git 来管理。

$ git clone git@github.com:someone/symfony-docs-chs.git

切到对应的开发分支上去。

  1. 如果开发分支已存在
$ git checkout dev
  1. 如果开发分支不存在,需要基于 master 分支切出来一个 dev 的开发分支
$ git checkout -b dev origin/master

3. 添加工作区代码到暂存区

你可以修改复制到本地的代码了。当你觉得完成了一定的工作量,想做阶段性的提交。向这个本地的代码仓库添加当前目录的所有变动。

$ git add .

或者只是添加某个文件:

$ git add -p

4. 查看工作区的状态

我们可以输入

$ git status

来看看现在的状态,如图是添加之前的:

git.png

下面是添加之后的:

git1.png

可以看到状态的变化时从红色到绿色,即 unstageadd

5. 提交信息

然后输入你的提交信息。

$ git commit -m 'fix(type):msg'

以下面这种规范去规范的提交。

<type>(<scope>): <subject> 描述主要修改类型内容

  • ✨feat:msg 新功能、新特性
  • 🐛fix(issue No):msg 修改 bug
  • 📝docs:msg 文档修改
  • dx:msg 分隔
  • 🎨style:msg 代码格式修改, 注意不是 css 修改(例如分号修改)
  • ♻️refactor:msg 重构
  • ⏪revert revert之前的commit
  • ⚡️perf 更改代码,以提高性能(在不影响代码内部行为的前提下,对程序性能进行优化)
  • ✅test 测试用例新增、修改
  • workflow:msg 工作流相关文件修改
  • 🎉build 影响项目构建或依赖项修改
  • 🎉release:msg 发布新版本
  • ci:msg 持续集成相关文件修改
  • ⏫chore:msg 构建过程, 辅助工具升级. 如升级依赖, 升级构建工具
  • types 类型
  • wip:msg 半成品的
  • 🔒 safe: 修复安全问题

6. 拉、推代码到分支上

先拉(pull)本分支上的最新代码,再推(push)到本分支上。先拉代码保证远程同分支上的代码和本地的一致,如果不一致(即两个改了同一个文件),这时就需要在工作区修改完毕后在推代码。

$ git pull origin dev
$ git push origin dev

7. 删除分支

查看本地分支 git branch

  • 删除本地分支 git branch -d dev
  • 删除本地的远程分支 git branch -r -D origin/dev
  • 远程删除git服务器上的分支 git push origin -d dev

GitHub 与 Git

Git一个分布式的版本控制系统,最初有 Linus Torvalds写,用作 Linux 代码的管理。在推出后,Git 在其他项目中取得了很大的成功,尤其是在 Ruby 社区中。

GitHub 可以托管各种 git 库,并提供一个 web 界面,GitHub 的独特卖点在于从另外一个项目进行分支的简易性。为一个项目贡献代码非常简单;首先点击项目站点的 "fork" 的按钮,然后将代码检出并将修改加入到分出的代码库中,最后通过内建的 "pull request" 机制向项目负责人申请代码合并。

在 GitHub 创建项目

接着,我们试试在上面创建一个项目。

git3.png

就会有下面的提醒;它提供多种方式的创建方法。

...or create a new repository on the command line

echo "# test" >> README.md
git init
git add README.md
git commit -m "first commit"
git branch -M master
git remote add origin https://github.com/wenreq/test.git
git push -u origin master

…or push an existing repository from the command line

git remote add origin https://github.com/wenreq/test.git
git branch -M master
git push -u origin master

git2.png

如果你完成了上面的步骤之后,那么我想你知道你需要怎么样的项目。

Pull Request

处理创建项目之外,我们也可以创建 Pull Request 来做贡献。

我的第一个 PR

我的第一个 PR 是给一个小的 JS 业务函数库的 Pull Request。原因比较简单,是因为它的 README.md 写错了,导致我无法进行下一步。