====== 查看远程配置 ======
vi .git/config
====== SVN介绍 ======
Subversion的特点概括起来主要由以下几条:
每个版本库有唯一的URL(官方地址),每个用户都从这个地址获取代码和数据;
获取代码的更新,也只能连接到这个唯一的版本库,同步以取得最新数据;
提交必须有网络连接(非本地版本库);
提交需要授权,如果没有写权限,提交会失败;
提交并非每次都能够成功。如果有其他人先于你提交,会提示“改动基于过时的版本,先更新再提交”… 诸如此类;
冲突解决是一个提交速度的竞赛:手快者,先提交,平安无事;手慢者,后提交,可能遇到麻烦的冲突解决。
====== Git介绍 ======
1.Git中每个克隆(clone)的版本库都是平等的。你可以从任何一个版本库的克隆来创建属于你自己的版本库,同时你的版本库也可以作为源提供给他人,只要你愿意。
2.Git的每一次提取操作,实际上都是一次对代码仓库的完整备份。
3.提交完全在本地完成,无须别人给你授权,你的版本库你作主,并且提交总是会成功。
4.甚至基于旧版本的改动也可以成功提交,提交会基于旧的版本创建一个新的分支。
5.Git的提交不会被打断,直到你的工作完全满意了,PUSH给他人或者他人PULL你的版本库,合并会发生在PULL和PUSH过程中,不能自动解决 的冲突会提示您手工完成。
6.冲突解决不再像是SVN一样的提交竞赛,而是在需要的时候才进行合并和冲突解决。
7.Git 也可以模拟集中式的工作模式
8.Git版本库统一放在服务器中
9.可以为 Git 版本库进行授权:谁能创建版本库,谁能向版本库PUSH,谁能够读取(克隆)版本库
10.团队的成员先将服务器的版本库克隆到本地;并经常的从服务器的版本库拉(PULL)最新的更新;
11.团队的成员将自己的改动推(PUSH)到服务器的版本库中,当其他人和版本库同步(PULL)时,会自动获取改变
12.Git 的集中式工作模式非常灵活
13.你完全可以在脱离Git服务器所在网络的情况下,如移动办公/出差时,照常使用代码库
14.你只需要在能够接入Git服务器所在网络时,PULL和PUSH即可完成和服务器同步以及提交
15.Git提供 rebase 命令,可以让你的改动看起来是基于最新的代码实现的改动
16.Git 有更多的工作模式可以选择,远非 Subversion可比
====== 设置git用户名/邮箱 ======
git config --global user.name '用户名' git config --global user.email '邮箱'
====== 修改config保存git用户名密码 ======
1.输入一次之后直接保存在config文件
命令:
git config --global credential.helper store
====== 创建本地仓库 ======
1.创建命令
git init
====== 文件添加到本地仓库(暂存区) ======
1.添加文件test到暂存区
git add test.txt
====== 丢弃工作区的修改(add之前) ======
1.丢弃工作区的修改
命令:
git checkout -- test.txt
====== 撤销暂存区的修改 ======
1.撤销属于暂存区的修改
命令:
git reset HEAD test.txt
====== 删除文件 ======
1.删除版本库里的文件
命令:
git rm test.txt
====== 撤销删除 ======
1.撤销删除工作区的文件(已经提交到了版本库)
命令:
git checkout --test.txt
====== 把文件提交到本地仓库(提交到仓库所在分支) ======
1.把暂存区文件提交到本地仓库
命令:
git commit -m '注释'
====== 查看仓库当前状态 ======
1.查看暂存区修改了什么内容信息
命令:
git status
====== 查看文件修改了什么内容 ======
1.查看test.txt文件修改了什么内容
命令:
git diff test.txt
====== 查看提交记录 ======
1.查看提交记录信息列表形式显示
命令:
git log --pretty=oneline
====== 回退到上一个版本 ======
1.回退到上次提交的版本
git reset --hard HEAD^
====== 回退到指定版本 ======
1.退回到指定的版本 例如前缀是:1a2s
命令:
git reset --hard 前缀
====== 历史提交记录 ======
1.查看用户历史提交记录
命令:
git reflog
或者:gitk
注:若打开的gitk界面中的中文注释是乱码,可以执行git config --global gui.encoding utf-8
====== 克隆远程仓库到本地 ======
1.克隆远端仓库到本地仓库
命令:
git remote add origin http://zhengyazhao/root/test.git
====== 推送本地内容到远程仓库 ======
1. 首次推送:
git push -u(把本地分支推送到远程同名分支并且和远程分支关联起来) origin master
2. 正常推送:
git push origin master:master(本地分支)
====== 克隆远端分支到本地 ======
1.从远端分支克隆到本地
命令:
git clone http://localhost/test.git
====== 获取最新代码并且合并 ======
1.更新远程分支到本地:
git pull origin master:test(本地库)
2.默认不填写更新并且合并到同名分支:
git pull origin master
====== 从远端获取最新版本到本地分支 ======
1.获取远端分支最新代码到本地分支
git fetch origin master
====== 创建分支 ======
1.创建分支:
git branch dev
2.创建分支并切换到该分支:
git checkout -b dev
====== 切换分支 ======
1.从master分支切换到dev分支
命令:
git checkout dev
====== 查看当前分支 ======
1.查看当前本地仓库分支信息
命令:
git branch (分支前带*号表示当前工作分支)
====== 分支合并 ======
1.当前分支处于master
2.需求要把dev分支内容合并到master分支当中
3.使用命令
git merge dev
====== 删除分支 ======
1.删除无用的分支(已经合并的分支)
命令:
git branch -d dev
====== 分支合并图 ======
1.查看分支合并的信息
命令:
git log --graph
====== 隐藏工作区内容 ======
1.把工作区修改的内容还未提交到暂存区的代码隐藏起来
命令:
git stash
====== 查看隐藏工作内容 ======
1.查看隐藏区域内容
命令:
git stash list
====== 恢复隐藏区的内容 ======
1.恢复隐藏区内容
命令:
git stash apply
2.删除隐藏区信息
命令:
git stash drop
3.恢复隐藏区内容的同时,删除隐藏区stash
命令:
git stash pop
====== 删除远端分支 ======
1.命令:
remote/origin/master