Git | 常用命令小结(更新中)
通用文件操作
mkdir < file name > 创建空目录
pwd 查看当前目录
cat 查看文件的内容
本地仓库
查看信息
git 查看git的版本
git diff 查看文件的修改内容
git log 查看提交历史
git reflog 查看命令历史
git status 查看文件仓库的状态
tips:查看提交历史时可使用 -pretty=oneline 来同行显示
tips:查看文件仓库状态的结果
一、未add但在仓库中的文件: changes not stage for commit
二、未add且未在仓库中的文件: untracked file
三、未commit的文件: changes to be committed
创建版本库
要先选定指定的文件夹在进行创建
git init 创建版本库
删除本地仓库
删除本地仓库文件夹下的.git文件
rm -rf .git
最最最重要的两条
插播一条概念:工作区、版本库、暂存区和分支de关系
工作区–>本地的文件夹
版本库–>文件夹中的.git文件
暂存区和分支包含在版本库当中
learn more
git add < file name > 工作区文件添加至暂存区
git commit -m < tips > 暂存区文件提交至分支
管理修改与回退
“Git的本质是跟踪和管理修改”
tips(建议联系之后的分支与HEAD关系一起食用)
HEAD 当前版本
HEAD^ 上一个版本
HEAD~N 上N个版本
git reset --hard < commit ID > 版本回退
git reset head < file name > 撤销暂存区的修改
git checkout -- < file name > 撤销工作区的修改
git rm < file name > 删除暂存区的文件
git checkout 版本库替换工作区的版本
远程库
关联远程库
本地和远程分别创建仓库时需要进行关联
git remote add < remote name > git@< server name >:< user name >/< repo name >.git
克隆远程库
克隆远程库会自动将克隆的本地仓库、分支和远程仓库、分支关联
git clone git@< server name >:< user name >/< repo name >.git
查看远程库信息
有远程库信息说明关联到了远程库
git remote 查看远程库
git remote -v 查看远程库的详情
分支
tips:分支与HEAD的关系
分支->修改提交信息的指针
HEAD->分支的指针
查看分支
git branch 查看本地分支
git branch -a 查看所有分支
git branch -r 查看远地分支
git log --graph 查看分支图
创建切换分支
基本创建方式
git checkout -b < branch name > 创建并同时切换分支
git switch -c < branch name > 创建分支.1
git branch < branch name > 创建分支.2
git checkout < branch name > 切换分支.1
git switch < branch name > 切换分支.2
本地与远地的关联创建
由远地分支创建本地分支
git checkout -b < branch name > < remote name >/< branch name > 由远地分支创建本地分支
由本地分支创建远地分支
git push < remote name > < branch nane > 由本地分支创建远地分支.1
git push < remote name > < local branch name >:< remote branch name > 由本地分支创建远地分支.2
git push --set-upstream < remote name > < branch name > 由本地分支创建远地分支.3
2. 一般将远地和本地分支名称设置为相同的
推送分支
对于远程仓库的改变通过push分支来实现
git push -u < remote name > < branch name > 第一次推送分支
git push < remote name > < branch name > 推送分支
删除分支
删除本地分支
git branch -d < branch name > 删除已经合并的本地分支
git branch -D < branch name > 强行删除还未合并的本地分支
删除远地分支
git push < remote name > :< branch name > 删除远地分支.1
git push origin --delete < branch name > 删除远地分支.2
summary:多数对于远地的管理要通过push来进行
合并分支
git merge < branch name > 合并到master分支上
tips:合并模式
–no–ff 普通模式: 要创建一个新的commit 可以看到被合并分支的信息
fast forward 快速模式: 不创建新的commit 无法看到被合并分支信息
可以知道以前有没有做过合并的操作
获取分支
git fetch < remote name > < branch name > 不合并到当前分支
git pull < remote name > < branch name > 自动合并到当前分支
重命名分支
git branch -m oldName newName 给分支重命名
处理BUG分支
使用stash来存储之前的工作,保存后就可以创建新的分支来处理BUG
查看stash的内容
git stash list 查看保存的内容
建立stash保存当前的工作
git stash 保存工作现场
取出删除stash的内容
git stash pop 恢复之前保存的现场并删除stash中的内容
git stash apply ( stash@{ } ) 恢复某一个工作现场
git stash drop ( stash@{ } ) 删除某一个stash内容
同步处理结果
git cherry-pick < commit ID > 复制特定的提交到当前分支
解决冲突
git pull 抓取最新的commit 用来解决冲突
标签
tips:每个标签与一个commit ID对应,用来简化commit ID
例如:commit ID: 1045AAJZGJHE 可以转换成 v1.0
显示标签
git tag 显示现有的标签
git show < tag name > 显示标签的详细信息
创建标签
git tag < tag name > 创建标签
git tag < tag name > < commit ID > 为指定的commit创建标签
标注标签
git tag -a < tag name > -m < tips > 为标签添加信息
推送标签
git push < remote name > < tag name > 推送特定的标签
git push < remote name > tags 推送所有的标签
删除标签
git tag -d < tag name > 删除本地的标签
git push < remote name >:refs/tags/< tag name > 删除远地的标签
另外,分支策略、github使用等等
参考:廖雪峰的Git教程