Self-consistent

在 git 下载完后,需要配置用户名和用户邮箱(不要直接复制下面语句,那是我的名字和邮箱)。

git config --global user.name "professordeng"
git config --global user.email "2248262060@qq.com"

下面记录了最常用的一些命令。

git help                    # git 的说明书
git add --all               # 将所有修改过的文件放到暂存区
git add filename            # 将某个文件提交到暂存区
git commit -m "description" # 将暂存区的文件提交到本地仓库
git log                     # 历史记录
git checkout filename       # 撤回当前工作区的某文件的修改
git status                  # 查看工作区和暂存区的修改情况
git diff                    # 已经修改的内容对比

1. 绑定 github 账号

由于我经常重装机子,所以仓库通常备份到 github 上,因此需要绑定 github 账号。

git config --list    # 查看自己的名字和邮箱,没有的话自行配置
ssh-keygen -t rsa -C "2248262060@qq.com" # 生成密钥和公钥

然后在用户目录下有个 .ssh 的文件,利用 cat 指令得到公钥复制到 github 设置中的 ssh 中完成认证。接下来客户端和 github 就可以互相传送文件了。

git pull origin master  # 拉取远程仓库的 master 更新
git push origin master  # 推送 master 更新到远程仓库

2. 版本回退

  1. 工作区

    工作区的文件回退,修改过的文件直接被删除或扔到回收站。

    git checkout filename   # 对某一文件进行回退。
    git checkout .          # 对所有跟踪文件进行回退。
    
  2. 暂存区

    暂存区的文件回退,修改过的文件会被扔到工作区。

    git reset HEAD file     # 将暂存区文件放回工作区。
    git reset HEAD .        # 将所有暂存区文件放回工作区。
    
  3. 已经提交的修改

    git reset --head HEAD^      # 彻底回到上一个版本。
    git reset --head commit_id  # 回到某一版本。
    

    commit_id 可以使用 git log 查看。

3. 分支管理

如果你的项目需要多个方向开发或者多人同时开发不同的部件,那么就需要进行分支管理。git 默认主分支是 master。

  1. 创建分支 dev

    git branch dev    # 创建 dev 分支
    git checkout dev  # 将 dev 分支切换为当前分支
    git branch        # 列出所有分支
    
  2. 将分支 dev 合并到 master 上

    git checkout master  # 切换 master 为当前分支
    git merge dev        # 将 dev 合并到当前分支
    
  3. 删除 dev 分支(如果 dev 是当前分支,需要先切换)

    git branch -d dev    # 删除 dev 分支
    git branch           # 列出所有分支
    
  4. 将分支 dev 推送到远程仓库

    git push origin dev
    
  5. 从远程仓库拉取 dev 分支

    git clone -b dev address
    

    这里的 address 是指项目地址。