美文网首页
Git常用命令

Git常用命令

作者: Skywalker_Yang | 来源:发表于2017-06-16 17:02 被阅读13次

一、工作流程

先用一张图,总体上描述主要git命令的工作流程


git.png
  • workspace:本地的工作目录。(记作A)
  • index:缓存区域,临时保存本地改动。(记作B)
  • local repository:本地仓库,指向最后一次提交HEAD。(记作C)
  • remote repository:远程仓库。(记作D)

二、命令笔记

以下所有的命令的功能说明,都采用上述的标记的A、B、C、D的方式来阐述。

初始化

  • git init // 创建
  • git clone /path/to/repository //检出
  • git config --global user.email "yangsheng02@baidu.com" // 配置email
  • git config --gloabal user.name "Skywaler_Yang" //配置用户名

操作

  • git add <file> // 文件添加,A → B
  • git add . // 所有文件添加,A → B
  • git commit -m "代码提交信息" // 文件提交, B → C
  • git commit --amend // 与上次commit合并,*B → C
  • git push origin master // 推送至master分支,C → D
  • git pull // 更新本地库至最新改动,D → A
  • git fetch // 抓取远程仓库更新,D → C
  • git log // 查看提交记录
  • git status // 查看修改状态
  • git diff // 查看详细修改内容
  • git show // 显示某次提交的内容

撤销

  • git reset <file> // 某个文件索引会回滚到最后一次提交,C → B
  • git reset // 索引会回滚到最后一次提交,C → B
  • git reset --hard // 索引会回滚到最后一次提交,C → B → A
  • git checkout // 从index复制到workspace,B → A
  • git reset --files // 文件从index复制到workspace,B → A
  • git reset HEAD --files // 文件从local repository复制到workspace,C → A

分支相关

  • git checkout -b branch_name // 创建名叫"branch_name"的分支,并切换过去
  • git checkout master // 切换回主分支
  • git branch -d branch_name // 删除名叫"branch_name"的分支
  • git push origin branch_name // 推送分支到远端仓库
  • git merge branch_name // 合并分支branch_name到当前分支
  • git rebase // 衍合,D → A

冲突处理

  • git diff // 对比workspace与index
  • git diff HEAD // 对比workspace与最后一次commit
  • git diff <soucrce_branch> <target_branch> // 对比差异
  • git add <filename> // 修改完冲突,需要add以标记合并成功

其他

  • gitk // 打开图形化git
  • git config color.ui true // 彩色的git输出
  • git config format.pretty oneline // 显示历史记录时,每次提交的信息只显示一行
  • git add -i // 交互式添加文件到暂存区

参考

相关文章

网友评论

      本文标题:Git常用命令

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