在了解上一篇文章Git相关概念后,知道Git的原理,接下来学习这些命令会相对来说容易掌握,达到熟练则需要一定量的实践。
# 本地初始化仓库 git init —— 初始化仓库 # 配置信息 git config --global user.name "Jack Cheng" —— 配置全局用户名信息 git config --global user.email "767833640@qq.com" —— 配置全局用户密码 git config --list —— 检查配置信息 git config <xxxx> —— 检查具体某一项的配置 git help <xxxx> —— 获取帮助 # 工作期间常用命令-从远程到本地 git clone —— 将远程仓库“克隆”到本地 git remote add —— 添加一个名为给定连接 URL的远程仓库 。 git fetch —— 从远程仓库获取远程跟踪分支的变更到本地。 git pull —— 获取远程仓库的变更,并合并到本地仓库。该命令是 fetch 与 merge 两个命令的组合 # 工作期间常用命令-从本地到远程 git add <filename> —— 将文件中的更改添加到更改集中 git commit -m 'xxx' —— 将工作目录中的更改集提交到仓库中, -m后是说明 git push —— 将本地分支的更改通过远程跟踪分支推送到远程仓库。 # 工作期间常用命令-检查状态信息 git status —— 用来跟踪当前所在的分支上已添加以及未添加的更改。 git log —— 用于显示工作目录中更改(提交)的历史记录,使用 git log <path> 命令可查看特定路径下的更改。但不能查看已经回退了的commit记录 git log --pretty=oneline —— 简化查看工作目录中更改(提交)的历史记录 git relog —— 可以查看所有分支的所有操作记录(包括commit和reset的操作),包括已经被删除的commit记录 git diff —— 可以查看当前工作目录中已修改的文件和暂存区的文件的差异 git diff --staged(cached) —— 查看已暂存的文件和上一次提交后的文件的变化 git diff <branchname> --<path> —— 显示当前工作目录和分支 branchname 之间在路径 path 下的差异 git checkout <branch> —— 将存储库中的分支检出到工作目录中 git checkout <branchname> --<path> —— 将分支 branchname 中路径 path 下的文件检出到当前工作目录中 # 工作期间常用命令-回退版本内容 git reset --hard commit_id —— 回退版本 # 工作期间常用命令-分支管理操作 git branch —— 查看分支(当前所在分支前面会有一个星号) git branch -b <branchname> —— 从当前 HEAD(工作目录)创建一个新分支 git branch -d <branchname> —— 删除分支 git checkout <branchname> —— 切换分支 git checkout -b <branchname> —— 从当前 HEAD 创建一个新分支,并将工作目录切换到新分支 git merge <branchname> —— 将分支 branchname 合并到当前分支 git merge --no-ff -m "禁用fast-forward合并" <branchname> —— 注意–no-ff参数,表示禁用快速合并模式,git就会在merge时生成一个新的commit,这样,从分支历史上就可以看出分支信息 git merge --abort —— 取消存在冲突的合并
# 变基(Rebasing) git rebase —— 将当前分支重新定位到给定其他分支的尖端。 git rebase -i —— 交互式变基。 # 择优选择(Cherry picking) git cherry-pick —— 中止导致冲突的 cherry-pick。 # 存储现场工作(stash) # git还提供了一个stash功能,可以把当前工作现场“储藏”起来,等以后恢复现场后继续工作 git stash —— 在当前分支使用保存现场作业,切换到别的分支修bug git stash list —— 修改完bug,切换回分支,查看刚才保存的现场作业 git stash pop —— 恢复下现场作业后进行修改