git本地操作
分布式
- svn git区别
svn 集中式:需要一台中央服务器
git 分布式:分开存放,每个人都有完整的版本库
git速度比svn快
svn中每个文件夹都有一个.svn文件
git有一个单独的文件.git文件夹
配置用户
//查看当前配置
git config --list
//配置账号密码
git config --global user.name ""
git config --global user.email ""
初始化git
- 不要在文件夹里初始化git,一个项目初始化一次,不要嵌套创建
git init 告诉git哪个文件夹被git所管理
git status 查看git状态
git add ./-A 把文件从工作区放入暂存区
git commit -m”描述“ 添加到历史区
git commit -a -m ‘描述’ 添加并提交
git log 查看历史状态
------
git add README.md 将md文件提交
git commit -m “add md” 添加注释
git push origin locDev:dev 将本地分支代码推送到远程dev分支
git push origin dev 下次提交直接提交代码到远端dev
------
git diff 工作区和暂存区比较
git diff master/分支名 工作区和历史区比较
git diff --cached 暂存区和历史区比较
git checkout ./文件名 撤销 从暂存区中将工作区内容覆盖掉
git reset HEAD ./文件名 回退文件,将文件从暂存区回退到工作区
git reset --hard 版本号 回滚到某个版本
git reflog 查看所有版本
git reset HEAD^ 回到上个版本
删除暂存区
git rm --cached <文件名> 从暂存区删除一个文件
git rm --cached . -r 删除暂存区的文件
分支
git branch <branch name> 创建分支
git branch 查看本地分支
git branch -r 查看远程分支
git branch -a 查看所有分支 本地及远程的
git branch -d <branch name> 删除本地分支
git branch -vv 查看所有分支追踪关系
git checkout -b <branch name> 创建并切换分支
git checkout <branch name> 切换分支
git checkout <file name> 将文件从暂存区拉回到工作区
git checkout -b locDev origin/dev 从远程dev分支拉取代码创建本地locDev分支
git push --set-upstream origin <branch name> 新建远程分支
git push origin locDev:dev 新建分支法2,将本地locDev提交到远程dev分支,远程没有dev会自动创建
git branch -d <branch name> 删除本地分支
git branch -m <old_branch_name> <new_branch_name> 修改本地分支名字
git branch -u origin/master <branch name> 本地分支追踪远程master
或
git branch --set-upstream-to origin/master <branch name>
git push origin --delete <branch name> 删除远程分支
或
git push origin :<branch name>
文件修改切换分支
- 分支有更改不能直接切换,可以提交更改或暂存更改,暂存使用过渡区覆盖掉工作区
git stash 暂存文件
git stash pop 还原暂存的内容
合并分支
//一般来讲是低版本合并高版本,比如master基础上新建bugfix分支,
//bugfix分支开发完毕之后,切回master分支,git merge bugfix去合并
git merge 分支名 合并分支
解决冲突
linux命令
rm -rf .git 删除一个目录
rm a.txt 文件名 删除一个文件
mkdir git_project 创建目录
cd 路径名 切换目录
ls 显示文件(不显示隐藏文件)
ls -al 显示目录下所有文件
touch 1.txt 创建文件
cat 1.txt 查看文件
vi 1.txt 编辑文件,键盘I键插入变为可编辑模式,Esc保存,shift+:wq冒号保存
i 插入模式 esc退出编辑模式 :q!强制退出 :wq保存并退出
pwd print working directory 打印当前工作目录
echo ‘内容’>1.txt 写入内容到1.txt
echo ‘内容’>>1.txt 追加内容
git远程操作
本地提交
- README.md
- 创建一个.gitigonre 配置文件 忽略提交的文件
- git不会上传空文件夹,添加.gitkeep在空文件夹内
关联远程仓库
git romote add orgin 地址 添加到远程仓库
删除关联
git remote add b 地址 添加了错误的关联,可以添加
git remote rm b 删除错误的关联
推送代码到远端
git push origin master
拉取远端代码
- pull = git fetch + git merge
git pull origin master
gh-pages 分支来发布我们的静态页
- 在项目中创建一个gh-pages的分支
- 将分支提到线上仓库上
- 找到提供给你的网址,在git上settings - github pages 上可以查看到index.html静态网页
touch index.html
git checkout -b gh-pages
git add .
git commit -m "创建一个静态网页"
git push origin gh-pages //提交到gh-pages分支上
issues问题
更改别人代码
- fork是在当前项目下克隆了一份,如果代码更新,不会随之更新
拉取本地
git clone 项目地址 项目别名
- 默认就是git仓库而且有origin地址,可以将代码提交到自己的仓库上
- New pull Request , 推送到被克隆代码的原项目地址上
- 只有fork的代码才能发送pull request请求
collaborators
GUI界面化
网友评论