- git简介
分布式版本管理工具
svn是集中式版本管理工具 - 下载地址
http://msysgit.github.io/ - 命令行操作窗口
开始-Git-GitBash打开命令输入窗口
$ git config --global user.name "Your Name"
$ git config --global user.email "email@example.com"
创建用户名和邮箱 - 初始化
进入仓库路径git init进行仓库初始化 - 添加文件
git add readme.txt - 关于VIM窗口
开始用git commit 提交的时候是用 -m “message”的
后来直接用git commit 回车后弹出一个窗口,后来才知道是linux下的文本编辑器
郁闷的是半天退出不出来,baidu,google一番,
进入之后是VIM的普通模式,按 i 键,进入INSERT模式,这是可以输入message了。
输入完成之后,按ESC键进入命令模式 ,输入冒号(在窗口下面显示),然后输入x,回车就OK了。
- git status
打印文件状态信息 - git diff
查看修改内容 - 版本回退
- git log显示提交的log信息,包括commit id,time,message等信息2>
- 回退到之前版本
- 上一个版本
git reset --hard head^ - 倒数第二个版本
git reset --hard head^^ - 倒数第100个版本
git reset --hard head~100
- 前一个版本
-
-
- 查看历史命令
git reflog - 跳转到CommitID的版本
git reset --hard "CommitID"
-
工作区和暂存区
add时把文件放到暂存区(stage)commit时把所有暂存区内容放到master工作区
- 恢复修改
- 回退到版本库最新版本
- git checkout -- file
- 放弃缓存区修改,add但未commit
- git reset HEAD file
- 删除文件
- git rm filename
- 与远程仓库进行交互
- ssh-keygen -t rsa -C "youremail@example.com"
创建 id_rsa和id_rsa.pub 两个文件 - 将本地仓库上传到远程仓库
- git remote add origin git@github.com:your git name/learngit.git
- git pull testpository master
- git push -u testpository master
- 之后继续更新只需要 git push origin master
- 从远程仓库clone到本地仓库
- git clone git@github.com:your git name/gitskills.git
- 分支操作
- 查看分支
- git branch显示所有分支,当前分支前面有*
- 创建分支
- git branch <name>
- 切换分支
- git checkout <name>
- 创建并切换分支
- git checkout -b <name>
- 合并分支到当前分支
- git merge <name>
- 删除分支
- git branch -d <name> //若分支存在为合并的修改,则删除失败
- git branch -D <name> //强制删除分支,有未合并的修改也一起删除
- 查看分支合并图
- git log --graph
- 合并后显示合并的log
- git merge --no-ff -m "merge with no-ff" dev‘
- 保存当前分支修改的状态(未进行add或commit)
- git stash
- 查看所有保存的状态
- git stash list
- 恢复某一个状态
- git stash apply或git stash apply stash@{0}恢复到某一个具体的状态
- git stash drop
- git stash pop 恢复并删除
- 多人合作开发工作流程
- git push origin branch-name 向远程仓库推送修改
- 若推送失败git pull进行合并
- 失败 提示“no tracking information”,则说明本地分支和远程分支的链接关系没有创建
git branch --set-upstream branch-name origin/branch-name - 解决冲突
- git push origin branch-name提交
- 标签管理
- 创建标签
git tag <name> <id>
git tag -a <name> -m <message> <id> - 查看标签
git tag
git show tag <id> - 删除标签
git tag -d <tagname> - 推送标签
git push origin <tagname>
git push origin --tags - 删除已经推送的标签
- 先在本地删除标签
git tag -d <tagname> - 删除远程标签
git push origin :refs/<tagname>
- 新建目录添加到github
- git init
- git add --all
git commit -m"add new file" - git remote add origin git@github.com:your git name/learngit.git
- git push -u testpository master
- git简介
分布式版本管理工具
svn是集中式版本管理工具 - 下载地址
http://msysgit.github.io/ - 命令行操作窗口
开始-Git-GitBash打开命令输入窗口
$ git config --global user.name "Your Name"
$ git config --global user.email "email@example.com"
创建用户名和邮箱 - 初始化
进入仓库路径git init进行仓库初始化 - 添加文件
git add readme.txt - 关于VIM窗口
开始用git commit 提交的时候是用 -m “message”的
后来直接用git commit 回车后弹出一个窗口,后来才知道是linux下的文本编辑器
郁闷的是半天退出不出来,baidu,google一番,
进入之后是VIM的普通模式,按 i 键,进入INSERT模式,这是可以输入message了。
输入完成之后,按ESC键进入命令模式 ,输入冒号(在窗口下面显示),然后输入x,回车就OK了。 - git status
打印文件状态信息 - git diff
查看修改内容 - 版本回退
- git log显示提交的log信息,包括commit id,time,message等信息2>
- 回退到之前版本
- 上一个版本
git reset --hard head^ - 倒数第二个版本
git reset --hard head^^ - 倒数第100个版本
git reset --hard head~100
- 上一个版本
- 前一个版本
-
- 查看历史命令
git reflog - 跳转到CommitID的版本
git reset --hard "CommitID"
-
-
工作区和暂存区
add时把文件放到暂存区(stage)commit时把所有暂存区内容放到master工作区
- 恢复修改
- 回退到版本库最新版本
- git checkout -- file
- 放弃缓存区修改,add但未commit
- git reset HEAD file
- 回退到版本库最新版本
- 删除文件
- git rm filename
- 与远程仓库进行交互
- ssh-keygen -t rsa -C "youremail@example.com"
创建 id_rsa和id_rsa.pub 两个文件 - 将本地仓库上传到远程仓库
- git remote add origin git@github.com:your git name/learngit.git
- git pull testpository master
- git push -u testpository master
- 之后继续更新只需要 git push origin master
- 从远程仓库clone到本地仓库
- git clone git@github.com:your git name/gitskills.git
- ssh-keygen -t rsa -C "youremail@example.com"
- 分支操作
- 查看分支
- git branch显示所有分支,当前分支前面有*
- 创建分支
- git branch <name>
- 切换分支
- git checkout <name>
- 创建并切换分支
- git checkout -b <name>
- 合并分支到当前分支
- git merge <name>
- 删除分支
- git branch -d <name> //若分支存在为合并的修改,则删除失败
- git branch -D <name> //强制删除分支,有未合并的修改也一起删除
- 查看分支合并图
- git log --graph
- 合并后显示合并的log
- git merge --no-ff -m "merge with no-ff" dev‘
- 保存当前分支修改的状态(未进行add或commit)
- git stash
- 查看所有保存的状态
- git stash list
- 恢复某一个状态
- git stash apply或git stash apply stash@{0}恢复到某一个具体的状态
- git stash drop
- git stash pop 恢复并删除
- 查看分支
- 多人合作开发工作流程
- git push origin branch-name 向远程仓库推送修改
- 若推送失败git pull进行合并
- 失败 提示“no tracking information”,则说明本地分支和远程分支的链接关系没有创建
git branch --set-upstream branch-name origin/branch-name - 解决冲突
- git push origin branch-name提交
- 标签管理
- 创建标签
git tag <name> <id>
git tag -a <name> -m <message> <id> - 查看标签
git tag
git show tag <id> - 删除标签
git tag -d <tagname> - 推送标签
git push origin <tagname>
git push origin --tags - 删除已经推送的标签
- 先在本地删除标签
git tag -d <tagname> - 删除远程标签
git push origin :refs/<tagname>
- 先在本地删除标签
- 创建标签
- 新建目录添加到github
- git init
- git add --all
git commit -m"add new file" - git remote add origin git@github.com:your git name/learngit.git
- git push -u testpository master