自己常用的一些指令
git init ------ 初始化git项目
1、文件编辑
- git add 文件名称 ----- 单个文件
- git add 文件名称1 文件名称2 ----- 多个文件
- git add . ----- 全部的文件
- git commit -m ‘注释数据’ ----- 本次提交的内容
- git push origin 分支名称 ----- 将本地提交的代码发送的远程仓库的相关分支(默认为mater)
2、工作流程
假设企业给了一个git地址 https://gitee.com/itmonkey-cn/shopro.git
- git clone https://gitee.com/itmonkey-cn/shopro.git
- git branch ---------- 查看当前有哪些分支
- git checkout -b ‘aaa’ ------ 创建并且切换bug的分支(分支防止更新影响原文件)
带账号克隆
git clone http://[ 邮箱 ]%40qq.com:[ 密码 ]@[git地址]
设置当前项目
git remote set-url origin https://[用户名]:[密码]@[git地址]
3、编辑代码
- git add note.text
- git commit -m ‘注释’
- git push origin aaa —上传到了刚刚创建的分支
- git merge aaa —合并到主分支
- git push origin master —提交到远程仓库
4、查看更新回退撤销。
- git pull ----从仓库更新代码(其他成员,或者自己在家写的,提交到远程仓库后,这里同步一下)
- git status ---- 查看状态
- git diff — 查看修改的内容
- git log ------- 查看版本历史
- git log --pretty=oneline ------只输出版本号
- git reset --hard ID前六位 ------切换版本
- git reflog ---- 查询所有的git操作过的指令
- git reset --hard 【 log里面的版本号】 ----- 回退版本,删除add,删除commit,删除改动代码
- git reset --mixed【 log里面的版本号】 ----- 回退版本,删除add,删除commit,保留改动代码
- git reset --soft【 log里面的版本号】 ----- 回退版本,删除commit,保留add,保留改动代码
- git checkout 【 版本号前六位 】 --------回退版本
- git checkout . -------- 撤销所有更改
5、强制拉取远程仓库,更新至本地。
- git fetch --all
- git reset --hard origin/master
- git pull
6、强制推送到远程仓库。
- git add .
- git commit -m “your comment”
- git push -u origin master -f
- git push -f 仓库 master // 强制推送单个仓库
7、强制覆盖其他分支。
- git checkout master
- git reset --hard dev //指定远程分支
- git push origin master -f //强制推送到远程分支
8、删除分支
- git branch -D bug_xzx //删除本地分支
- git push origin --delete bug_xzx // 删除远程分支;
- git fetch -p // 删除远程没有,本地还有的分支;
9、多仓库同步。
- git remote -v ---------查看当前本地项目有哪些仓库。
- git remote add gitee https://gitee.com/itmonkey-cn/shopro.git -------------添加远程仓库,地址前面是名字。
- git remote set-url gitee https://github.com/ITmonkey-cn/shopro.git -------------修改远程仓库地址。
- git push -u gitee ----------这种方法需要分别推送。
- git remote set-url --add origin https://gitee.com/itmonkey-cn/shopro.git ------------一起推送
10、https切换ssh
- git remote -v 查看提交方式
- git remote set-url origin ssh地址
11、重新设置过滤文件,以前的不管用
- git pull ----- 避免冲突
- git rm -r --cached . -----删除本地缓存
- 添加新的.gitignore文件
- git add . ------追踪文件
- git commit -m “更新” ----注释提交
- git push origin master ----推送到仓库
12、配置账号信息
用系统自带的命令行工具
全局:各个项目都是这个账号
git config --global user.name “username”
git config --global user.email “email”
局部:只有当前项目,优先级高于全局的
git config user.name “username”
git config user.email “email”
修改:修改已经设置的账号信息
git config --replace-all user.name “new name”
git config --replace-all user.email “newe mail”
查看: git config --list
常见报错
- 代码包过大
- 错误信息
fetch-pack: unexpected disconnect while reading sideband packet
fatal: early EOF
fatal: fetch-pack: invalid index-pack output
- 解决方案
git config --global core.compression 0 // 关闭 core.compression
git clone --depth 1 [ 仓库地址 ]
git fetch --unshallow // 获取完整地址