本地操作:
git init 创建git仓库
git add . 添加所有工作区文件到暂存区,不包括删除的文件
git add -A 提交所有变化
git add -u 提交被修改和被删除的文件到暂存区,不包括新增文件
git status
git checkout -- 1.txt 放弃工作区1.txt文件的修改
git checkout . 放弃工作区所有修改(未被版本库管理的新建文件不会变化,同时会恢复被删除的版本库中存在的文件)
git rm --cached 1.txt 删除暂存区的1.txt文件修改
git rm 1.txt 删除版本库中1.txt文件,并将该操作提交到暂存区
rm .git/index 删除暂存区所有文件
git commit -m '123' 提交缓存区的内容到版本库
git commit -am '123' 提交工作区的修改内容到版本库,无法提交新建和删除的文件
git commit --amend '123' 修改上次commit提交信息
git log 基于当前版本查看提交记录(版本回退后,该版本之后记录不显示)
git reflog 显示所有历史提交记录(版本回退后,所有记录都显示)
git log -3 查看最后三条提交
git reset --hard HEAD^ 回退上个版本
git reset --hard HEAD~2 回退两个版本
git reset --hard f0cb 回退到指定版本,如果指当前版本,则会清空当前所有工作区和暂存区的内容
git config --local -l 查看配置 仓库级别
git config --lobal -l 查看配置 用户级别
git config --system -l 查看配置 系统级别
git config --global user.name "123" 修改配置文件
1、仓库级别 local 【优先级最高】
2、用户级别 global【优先级次之】
3、系统级别 system【优先级最低】
git 仓库级别对应的配置文件是当前仓库下的.git/config
git 用户级别对应的配置文件是用户宿主目录下的~/.gitconfig
git系统级别对应的配置文件是git安装目录下的 /etc/gitconfig
git branch 查看分支
git branch dev 创建dev分支 基于当前分支创建一个新分支,包含当前的所有修改
git checkout dev 切换到dev分支
git checkout - 切换到上一个操作的分支
git checkout 切换分支后,会将当前的工作区和暂存区的修改合并到切换后的分支,版本库的不会变化。如果当前工作区、暂存区有和切换的分支存在冲突的文件,则会切换分支失败。
git branch -D dev 强制删除dev分支
git branch -d dev 删除dev分支,如果dev有没有合并的修改,则无法删除
git checkout -b dev 创建并切换到dev分支
git merge dev 将dev的修改合并到当前分支,如果当前分支未提交的文件在dev分支已经提交到版本库并且没有冲突,则当前文件会直接到版本库中。
git stash 将当前工作区和暂存区的内容 保存到栈中 ,不影响分支切换且没有提交到版本库
git stash list 查看保存记录
git stash pop 将保存内容从栈取出
GitHub
git remote add origin url 添加远程库到本地的origin(origin 为url设置的别名)
git config --local -l 查看本地git配置
git push -u origin master 将master分支推到远程
git branch -a 查看分支(包括远程分支),无法查看最新分支,可通过git fetch origin刷新远端分支情况
git branch -av 查看分支,包括提交版本,可通过git fetch origin刷新远端分支情况
git remote show origin 查看远端分支,无法查看最新分支,可通过git fetch origin刷新远端分支情况
git fetch origin 刷新远端分支情况,比如新建分支(无法刷新删除分支)
git remote prune origin 刷新当前分支的远端分支情况(git branch -av和git branch -av不在显示远端已经删除的分支)
git push --set-upstream origin dev 将本地分支推送到远端,并且在远端创建dev分支
git push -u origin dev 将本地分支推送到远端,并且在远端创建dev分支,同上一个命令
git branch -u origin/dev 将本地分支关联远端
git branch --unset-upstream 删除根本的分支和远端的关联
git pull 拉取远端最新代码,将远端代码和本地代码merge,并且拉取远端最新分支信息。
git checkout -b dev origin/dev 在本地创建dev分支,并关联到远端dev分支,然后切换本地分支到dev
git push origin --delete dev 删除远端dev分支
git reset --hard origin/dev 用远程分支dev强制覆盖本地
标签:
git tag -a v1.0 -m 'v1.0 备注' 打标签版本。-a标签名,-m注释
git push origin v1.0 v1.1 将标题推送到远程仓库
git push origin --tag 将所有标签推送到远端
git push origin :refs/tags/v1.0 删除远端v1.0的tag
git push origin --delete tag v1.0 删除远端v1.0的tag
git tag -d v1.0 v1.1 删除本地v1.0tag
git checkout -b dev v1.0