Git 总结

56 阅读4分钟

git常用命令

git add xxx 或 .  --> 将工作区的文件添加到暂存区(暂时保存,即将交给git进行版本管理)
git commit -m '' / git commit -m [xxx] --> '提交信息' 将暂存区的文件添加到版本
git status 红色表示在工作区/绿色表示在暂存区
git reset --soft HEAD^ --> 撤回commit(保存修改)

git diff

git diff --> 比较暂存区与工作区
git diff --cached --> 比较版本区与暂存区
git diff master --> 比较版本区与工作区
​
git diff branch1 branch2 --> 显示出两个分支之间所有有差异的文件的详细差异
git diff branch1 branch2 --start --> 显示两个分支之间所有有差异的文件列表
git diff branch1 branch2 xxx --> 显示指定文件的详细差异

git reset

git log --> 显示从最近到最u按的所有提交日志,如果出现 ':' 表示为输出完成,出现end后最后完成
git reflog --> 显示每次提交(commit)的 commit id
git reset --hard HEAD^ --> 版本回退(回退一次提交),^^表示回退两次 - 最多回退两次
git reset --hard 版本号 --> 回退到指定版本号的commit id 版本
git reset --soft 版本号 --> 回退到指定版本号的commit id 并暂存修改后的文件
​
git reset HEAD --> 用版本库中的文件去替换暂存区的全部文件
git checkout --x.txt --> 用暂存区指定的文件去替换工作区的指定文件(危险操作)
git checkout HEAD x.txt --> 用版本库中的文件替换暂存区和工作区的文件(危险操作)

git rm

git rm x.txt --> 删除文件
git rm -r xxx --> 删除文件夹
git rm --cached x.txt -->从暂存区删除文件

分支相关指令

git fetch
git fetch origin xxx:xxx  --拉取 '分支'(目标分支)并在本地创建 xxx 分支
​
git checkout xxx --> 切换xxx分支
git checkout -b dev --> 创建dev分支,并切换到dev分支
git checkout -b xxx origin/xxx -->拉取远程分支并在本地创建该分支
​
git branch --> 查看当前分支
git branch -r --> 查看远程所有分支
git branch xxx --> 创建xxx分支
git branch -D branchName --> 删除本地指定分支
​
git push origin -d branchName --> 删除远程指定分支
git merge xxx --> 合并xxx分支到当前分支
​
git commit --amend --> 修改最新的一次提交commit
    i --> 进入修改模式
    Esc --> 退出编辑模式
    :wq -->  保存并退出

git rebase

git reflog --> 查看本地记录
git rebase -i xxx  -->合并commit
    i --> 插入
    :wq --> 保存退出

gitk --all

  • 查看 git 分支提交线

Git密码操作

记住密码

git config --global credential.helper wincred

清空本地密码

git credential-manager uninstall

保存新密码

控制面板 -> 用户账户 -> 凭据管理器 -> 普通凭据 -> git:https://github.com -> 编辑

Git 项目操作流程

远程有修改,拉取本地操作

git pull origin master  --> 拉取到本地  -第1种
git fetch origin master:tmp --> 新建一个tmp分支,将远程仓库的master分支代码版本复制到tmp分支上,不会自动合并  -第2种

克隆到本地

git clone '仓库地址'  -->目前只有一个分支
git checkout -b '本地分支' origin/'远程分支' -->根据远程分支来创建本地另一个分支
git pull -->拉取远程仓库的全部东西
Octotree -->GitHub管理器(chrome插件)

协作开发

  1. GitHub官网 --> New organization(创建团队/组织)
  2. 选择free 或者其他
  3. 输入组织名称/联系邮箱
  4. 进行权限配置
  5. 创建新的仓库 ->私有化
  6. 添加成员,添加成员的账户名或者邮箱
  7. 对成员进行权限的配置(读/写/管理员)
  8. 发送邀请,成员同意

合并分支(差异对比)

  1. 远程分支有更新

    git fetch --> 将远程分支拉取到本地,并在本地新建一个与远程分支名字一样的本地分支
    git fetch origin xxx远程分支名 -->拉取xxx远程分支变为本地分支
    
  2. 从远程分支拉取到本地分支

    git branch 本地分支名  --> 新建本地分支
    git pull origin xxx远程分支名  --> 拉取远程分支的代码到新建的本地分支
    
  3. 建立本地分支与远程分支的跟踪联系

    1- git branch -vv --> 可以查看本地分支对应的远程分支
    ​
    git checkout -b dev origin/dev --> 在远程分支的基础上建立dev分支,并且让dev分支追踪origin/branch-name
    ​
    2- git分支追踪远程分支
    ​
    git branch --set-upstream test origin/master -->建立本地仓test并建立追踪关系,如果建立了本地仓也建立了追踪会修改追踪关系(建议使用)
    git branck --track test origin/develop
    ​
    3- 修改追踪关系,切换到test
    git checkout test
    git branch --sett-upstream-to origin/master
    
  4. git合并远程拉取的分支与本地修改的分支

    1- 先使用 git stash 暂存本地修改的部分
    2- 再使用 git pull 拉取到远程分支
    3- 使用 git stash pop 弹出本地修改部分,此时git会自动合并
    

GitFork

  1. git clone 地址
    
  2. git remote add upstream 地址(将b项目作为最新代码的参考标准 -- upstream 是上有仓库的别名,别名可随意命名)
    
  3. 在本地更改代码
    
  4. git add . 
    git stash 暂存本地代码
    git commit -m [xxx] 提交修改日志
    git push origin xxx 推送到 origin 仓库 xxx 分支
    
  5. 拉取远程代码
    git pull / git fetch upstream