版本库创建
命令 | 功能 |
---|---|
mkdir myapp | 创建文件 |
cd myapp | 进入文件 |
git init | 初始化代码仓库 |
git add <file> | 把需要提交的所有修改放到暂存区(Stage) |
git add . | 提交所有文件 |
git add *.js | 提交所有.js格式文件 |
git add -f <file> | 强制添加 |
git commit -m “commit_info” | 提交代码 |
查看
命令 | 功能 |
---|---|
git log | 查看历史记录,git log命令显示从最近到最远的提交日志 |
git log --graph | 查看分支合并图 |
git log --graph --oneline | 加上 --oneline 可以让合并图更加美观 |
git reflog | # Git提供了一个命令git reflog用来记录你的每一次命令 |
git status | 显示工作目录和暂存区的状态。 |
git diff | 暂存区有/无文件时,比较工作区中的文件与上次提交到版本库中的文件/当前工作区中的文件与暂存区中的文件 |
git diff HEAD – <file> | 比较工作区中的文件与版本库中文件的差异 |
版本回退
命令 | 功能 |
---|---|
git reset --hard HEAD^ | 回退上一个版本 |
git reset --hard commit_id | 取消回退,commitId为你想要回到的未来版本号 |
撤销修改
命令 | 功能 |
---|---|
git checkout – <file> | 文件在工作区的修改全部撤销 |
git reset HEAD <file> | 把暂存区的修改撤销掉,重新放回工作区 |
删除文件
命令 | 功能 |
---|---|
git rm <file> | 从版本库删除一个文件 |
分支管理
创建/切换分支
命令 | 功能 |
---|---|
git branch <name> | 创建分支 |
git checkout<name> | 切换分支(方法一) |
git switch <name> | 切换分支(方法二) |
git checkout -b <name> | 创建 + 切换分支(方法一) |
git switch -c <name> | 创建 + 切换分支(方法二) |
git checkout -b A origin/B | 从远程分支创建新的本地分支(创建前先git pull) |
查看分支
命令 | 功能 |
---|---|
git branch | 查看本地分支 |
git branch -v | 查看本地分支 + 提交记录的哈希值 + 提交记录 |
git branch -vv | 查看本地分支 + 提交记录的哈希值 + 上游分支 + 提交记录 |
合并某分支到当前分支
命令 | 功能 |
---|---|
git merge <name> | Fast forward 模式,删除分支后,会丢掉分支信息 |
git merge --no-off “commit_info” <name> | 普通模式合并,不会丢掉分支信息 |
删除分支
命令 | 功能 |
---|---|
git branch -d <name> | 一般删除 |
git branch -D <name> | 强制删除 |
储藏
命令 | 功能 |
---|---|
git stash | stash 是本地的,不会通过 git push 命令上传到git server 上 |
git stash list | 查看储藏 |
git stash apply | 重新应用已经实施的储藏(不删除储藏) |
git stash pop [–index] [<stash>] | 新应用已经实施的储藏(删除储藏) |
git stash drop [<stash>] | 删除一个存储的进度。(默认删除最新的进度) |
git stash clear | 空当前所有的stash |
git stash branch <branchname> <stash> | 基于储藏进度创建分支 |
添加/推送远程仓库
命令 | 功能 |
---|---|
git remote add origin <address> | 关联一个远程库 |
git push -u origin master [-f] | 第一次将本地库的所有内容推送到远程库上 |
git push origin master | 此后,每次本地提交后,就可以使用命令推送最新修改 |
git pull | 从本地推送分支 |
git pull --rebase | 本地推送分支 |
从远程库克隆
命令 | 功能 |
---|---|
git clone [url] | 从远程仓库克隆 |
git clone [url] <myFile> | 现在新建的目录成了mygrit,其他的都与git clone [url]一样 |
git branch --set-upstream-to=origin/A B | 建立本地分支和远程分支的关联,A 为远程分支 name , B 为本地分支 name |
切换远程源
命令 | 功能 |
---|---|
git remote | 查看远程库的信息 |
git remote -v | 查看远程库的详细信息 |
git commit -m “Change repo.” | 先把所有为保存的修改打包为一个commit |
git remote remove origin [old_url] | 删掉原来git源 |
git remote add origin [new_url] | 将新源地址写入本地版本库配置文件 |
git push -u origin master | 提交所有代码 |