常用命令
# 初始化项目(本地)
git init
# 查看状态
git status
# 添加所有修改
git add .
# 查看修改未提交的修改
git diff
# 撤消所有add的文件(本地)
git reset
# 提交到本地仓库
git commit -m "修改了部分内容"
# 提交到本地仓库,进入编辑器写入提交信息
git commit
# 设置编辑器
git config --global core.editor vim
# 让git 停止追踪某个文件(提交的时候不再被push到远程仓库)
git rm --cached filename
# 与远程仓库地址关联
git remote add url
# 提交到远程仓库(master分支)
git push --set-upstream origin master
# 代码下载
git clone xxxxxx
# 日志
git log
# 代码回退
git reset --hard 提交id
# 缓存管理
git stash list
git stash drop stash@{0}
git stash clear
# 本地分支管理
# 创建
git checkout -b 本地分支名 远程分支名
git checkout -b 本地分支名 -t 远程分支名
# 查看
git branch -a
git branch
# 删除
git branch -d 分支名
# 切换
git checkout 分支名
# 合并 在B分支中,将分支A合并到B
git merge A
# 代码回退
# 回退到某个版本
git reset --hard <commit_id>
git push origin HEAD --force
# 回退本地commit
git reset HADE
git push origin developer --force
# 逆向提交本地commit
git revert HADE
git add
git commit
git push
代码提交流程
# 缓存本地修改
git stash
# 拉取远程代码
git pull
# 提取本地缓存
git stash pop
# 解决冲突、提交代码
命令总结
分支操作
#1. 创建分支
git branch 分支名
#2. 创建并切换到新建的分支上
git branch -b 分支名
#3. 切换分支
git checkout 分支名
#4. 查看分支列表
git branch
#5. 查看所有分支的最后一次操作
git branch -v
#6. 查看当前分支
git branch -vv
#7. 创建远程分支到本地
git brabch -b 分支名 origin/分支名
#8. 查看别的分支和当前分支合并过的分支
git branch --merged
#9. 查看未与当前分支合并的分支
git branch --no-merged
#10. 删除本地分支
git branch -d 分支名
#11. 强行删除分支
git branch -D 分支名
#12. 删除远处仓库分支
git branch origin :分支名
#13. 合并 在B分支中,将分支A合并到B
git merge 分支名
暂存操作
#1. 暂存当前修改
git stash
#2. 恢复最近的一次暂存
git stash apply
#3. 恢复暂存并删除暂存记录
git stash pop
#4. 查看暂存列表
git stash list
#5. 移除某次暂存
git stash drop 暂存名(例:stash@{0})
#6. 清除暂存
git stash clear
回退操作
#1. 回退到上一个版本
git reset --hard HEAD^
#2. 回退到某个版本
git reset --hard commit_id
#3. 撤销修改的文件(如果文件加入到了暂存区,则回退到暂存区的,如果文件加入到了版本库,则还原至加入版本库之后的状态)
git checkout -- file
#4. 撤回暂存区的文件修改到工作区
git reset HEAD file
标签操作
#1. 添加标签(默认对当前版本)
git tag 标签名
#2. 对某一提交记录打标签
git tag 标签名 commit_id
#3. 创建新标签并增加备注
git tag -a 标签名 -m '描述'
#4. 列出所有标签列表
git tag
#5. 查看标签信息
git show 标签名
#6. 删除本地标签
git tag -d 标签名
#7. 推送标签到远程仓库
git push origin 标签名
#8. 推送所有标签到远程仓库
git push origin --tags
#9. 从远程仓库中删除标签
git push origin :refs/tags/标签名
常规操作
#1. 推送本地分支到远程仓库
git push origin test
#2. 取消文件被版本控制
git rm -r --cached 文件/文件夹名字
#3. 获取执行过的命令
git reflog
#4. 查看分支合并图
git log --graph
#5. 不使用Fast forward方式合并,采用这种方式合并可以看到合并记录
git merge --no-ff -m '合并描述' 分支名
#6. 查看忽略规则
git check-ignore -v 文件名
#7. 强制将文件提交
git add -f 文件名
# 添加所有修改
git add .
git创建项目仓库
#1. 初始化
git init
#2. 关联远程仓库
git remote add url
#3. 拉取代码到本地仓库及工作区
git pull
#4. 获取远程仓库中所有的分支到本地
git fetch
忽略已加入到版本库中的文件
#1. 忽略单个文件
git update-index --assume-unchanged file
#2. 忽略全部文件
git rm -r --cached 文件/文件夹名字
取消忽略文件
git update-index --no-assume-unchanged file
拉取、上传免密码
git config --global credential.helper store
git命令行中的中文提示修改成英文
# 普通的命令行
echo "alias git='LANG=en_GB git'" >> ~/.bashrc
# 安装了zsh的命令行
echo "alias git='LANG=en_GB git'" >> ~/.zshrc
# 使修改即时生效
. .bashrc
配置多个SSH KEY
参考文章
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。