git工作常用命令(快速入门)

仓库初始化及代码获取

  • 获取已有项目
    • 获取远程仓库,需要指定远程仓库地址
    • 在项目目录下执行:git clone <REPO_URL>
  • 创建新项目
    • 在Gitlab上创建一个新项目,拿到项目的gitlab链接
    • 进入本地项目根目录,执行:git init
    • 关联本地和远端仓库:git remote add origin <REPO_URL>

分支管理(切换、创建、合并及删除)

  • 切换已有分支
    • 获取远端的新分支信息:git fetch
    • 切换到具体分支(如develop) :git checkout develop
    • 更新分支代码:git pull
  • 新建分支
    • 创建新分支
      • 从当前分支复制过去:git branch <BRANCH_NAME>
      • 拷贝远端分支到本地:git branch <BRANCH_NAME> origin/<ORIGIN_BRANCH_NAME>
    • 切换到新分支:git checkout <BRANCH_NAME>
    • 更新新分支到远程仓库:git push --set-upstream origin <BRANCH_NAME>
  • 分支合并(如把feature/test合并到develop)

    • 签出合并的目标分支获取最新文件,git checkout developgit pull
    • 合并分支:git merge test --no-ff,–no–ff可以保留原分支历史,
      也可以修改 C:\Users\用户名.gitconfig 配置ff= true,直接使用git merge

    这里写图片描述

  • 删除分支

    • 删除本地分支:git branch -d <BRANCH_NAME>
    • 删除远程分支:git branch -r -d origin/<BRANCH_NAME>

日常编辑和提交

  • 提交代码流程:本地工作区文件 -> git暂存区(add指令)-> git本地仓库(commit指令) ->git远程仓库(push指令

    git区域图
    这里写图片描述

  • 暂存区文件的添加和移除(add指令rm指令

    • 添加当前目录及子目录下所有文件:git add .
    • 添加指定文件:git add <FILE_PATH>
    • 移除指定文件:git rm --cached <FILE_PATH>,这里不加–cached会把文件一起从工作区删除
  • 提交到本地仓库(commit指令
    • 将工作区的代码提交:git commit -m '提交信息'
    • 查看提交历史:git log、查看树状图:git log --graph
    • 查看提交状态:git status
  • 推送到远程仓库(pull指令push指令

    • push代码前一定要pull先:git pull --rebase,pull默认的方式是用merge,这里建议用rebase,才不会出现菱形结构(如图CDGFEC),
      也可以修改 C:\Users\用户名.gitconfig 配置rebase = true,直接使用git pull
      这里写图片描述

    • 推送本地库更改到远端库(已提交的内容不能反悔):git push

  • 暂存代码:git stash,保存工作区和暂存区的改变(手头功能无法提交,又影响切换分支、修改其他功能等时候常用)
    • 暂存文件:git stash
    • 恢复文件:git stash pop

出了问题如何解决

Git飞行规则(Flight Rules)