Git流程

2019-07-31  本文已影响0人  BULL_DEBUG

配置git

  1. 全局配置用户名:git config --global user.name "name"

  2. 全局配置邮箱:git config --global user.email 邮箱

  3. 查看配置:git config --list

image

暂存区管理

  1. 添加文件到暂存区:git add <file>

  2. 添加所有文件到暂存区:git add .

  3. 从暂存区撤销文件(确切的说是让暂存区与本地库保持一致): git reset <file>

  4. 从暂存区撤销所有文件(确切的说是让暂存区与本地库保持一致): git reset

提交

  1. 提交:git commit -m 'message'

  2. 加入暂存区并提交:git commit -am 'message'

  3. 覆盖上次提交:git commit --amend

撤销

a、如果还没 git add file ,使用该指令进行撤销:  git checkout -- fileName  
b、如果已经git add file  , 但是没有 git commit -m ""  分两步操作:
    b-1、git reset HEAD readme.txt
    b-2、git  status
    b-3、git checkout -- file
c、如果已经git add file 并且已经 git commit ,那么回退版本办法是:
    c-1、通过 git log 或者 git log --pretty=oneline 、git reflog
    c-2、找到对应的commit id进行回退:git reset --hard 1094a
  1. 从本地库中回退到上次提交,暂存区与本地文件保留: git reset --soft HEAD~1

  2. 从本地库中回退到对应提交,暂存区与本地文件保留: git reset --soft <commitId>

  3. 从暂存区撤销文件(确切的说是让暂存区与本地库保持一致): git reset <file>

  4. 从暂存区撤销所有文件(确切的说是让暂存区与本地库保持一致): git reset .

  5. 从本地库中回退到上次提交,暂存区,本地文件同步回退: git reset --hard HEAD~1

  6. 从本地库中回退到对应提交,暂存区,本地文件同步回退: git reset --hard <commitId>

  7. 从暂存区还原本地指定文件:git checkout -- <path>

  8. 从暂存区还原所有文件:git checkout -- .

  9. 从指定版本更新文件和暂存区:git checkout <commitID> -- <path>

  10. 从指定版本本地库更新所有文件和暂存区:git checkout <commitID> -- <path>

删除文件

  1. 删除本地和暂存区文件:git rm <file>

  2. 删除暂存区中的文件(保留本地文件和本地库中的文件):git rm --cached <path>

  3. 查看未跟踪文件:git clean -n

  4. 删除未跟踪文件:git clean -d

  5. 强制删除未跟踪文件:git clean -df

  6. 移动本地和暂存区文件: git mv <name> <new_name>

查看当前状态

  1. 查看文件状态:git status

  2. 查看本地文件和暂存区的差别:git diff <path>

  3. 查看暂存区和本地库的区别:git diff --cached <path>

  4. 查看由commitId1到commitId2的变化: git diff <commitId1> <commitId2> <path>

  5. 查看单文件提交日志: git log <path>

  6. 查看所有提交日志: git log

  7. 查看提交日志和diff: git log -p <path>

  8. 查看每一行的提交信息: git blame

远程仓库

  1. 从远程仓库克隆项目:git clone <url>

  2. 初始化一个本地项目:git init

  3. 设置远程地址的别名: git remote add <shortname> <url>

  4. 查看远程仓库列表:git remote -v

  5. 查看远程仓库详情:git remote show <remote>

  6. 远程仓库更名:git remote rename <oldname> <newname>

  7. 删除远程仓库:git remote rm <remote>

  8. 从远程仓库拉取:git pull <remote> <branch>

  9. 向远程仓库推送:git push <remote> <branch>

  10. 更新本地的远程仓库: git fetch <remote>

image image

分支

  1. 查看远程分支: git branch -r

  2. 查看本地分支: git branch

  3. 根据当前分支创建分支:git branch <branchname>

  4. 切换分支:git checkout <branchname>

  5. 根据当前分支创建分支并切换: git checkout -b <branchname>

  6. 根据远程分支创建分支: git checkout -b <branchname> <remote>/<branchname>

  7. 关联远程分支并推送:git push -u <remote> <branch>

  8. 删除本地分支:git branch -d <branchname>

  9. 删除远程追踪分支: git branch --d --remotes <remote>/<branchname>

  10. 删除远程仓库分支: git push <remote> :<branch>

  11. 删除远程分支和远程追踪分支: git push origin -d <branchname>

  12. 清理远程追踪分支: git remote prune origin

  13. 合并分支: git merge <branchname>

  14. 合并远程分支: git pull <remote> <branchname>

  15. 合并指定提交: git cherry-pick <commitId>

  16. 冲突后撤销合并: git merge --abort

stash缓存

  1. 缓存当前状态: git stash

  2. 缓存当前状态并设定标记: git stash save 'message'

  3. 应用提一条缓存并删除: git stash pop

  4. 应用指定缓存不删除: git stash apply <stashname>

  5. 查看缓存列表: git stash list

6.清空stash区: git stash clear

  1. 清空指定索引的stash: git stash drop stash@{<index>}

帮助文档

  1. git help <命令>
上一篇下一篇

猜你喜欢

热点阅读