git使用笔记
2016-03-22 23:58
267 查看
1、clone分支
git clone xxxx.git
2、checkout分支
从已有的分支创建新的分支(如从master分支),创建一个dev分支
git checkout -b dev
查看本地分支
git branch
查看远程分支
git branch -a
3、拉最新代码
git pull origin xxxfenzhi
4、查看日志
git log
5、查看修改
查看文件修改
git status
查看所有修改
git diff
查看单个文件
git diff demo/project.properties
查看有哪些工具可以对比修改文件的
git difftool --tool-help
使用工具查看修改
git difftool --tool=vimdiff2
:q 退出工具 [c ]c 定位到上下修改的地方
6、忽略某个在仓库中管理的文件
本地修改不提交到远程仓库
git update-index --assume-unchanged index.jsp
取消本地忽略
git update-index --no-assume-unchanged index.jsp
7、提交代码
git status
git diff
如果是新建的文件
则git add <file>
如果是修改的文件
则git add <file>
如果是删除的文件
则 git rm <file>
提交代码
git commit -m "xxxxxxxx"
推送到远程分支
git push origin xxxxxfenzhi
8、已经推送到远程分支发现错误回滚的方法
提交错误之后的修复方法:
git reset --soft HEAD^ //回滚一个commit状态。能回到add之后那里
然后再commit一次
然后git push -f origin xxx //强推,即利用强覆盖方式用你本地的代码替代git仓库内的内容
9、远程覆盖本地:必杀技
git fetch --all
git reset --hard origin/xxxxxfenzhi
$ git fetch
$ git merge
这2句命令等价于
$ git pull
10、rebase合并分支
git log
q
git checkout mubiaofenzhi
git pull origin mubiaofenzhi //拉下要rebase的目标分支的代码到本地
git log
q
git checkout issusxxx //回到当前的分支
git rebase mubiaofenzhi
……解决冲突
git add -u //添加修改
git rebase --continue
git add -u
git rebase --continue
……rebase成功 已经把mubiaofenzhi的代码合并到了issusxxx分支上
git checkout mubiaofenzhi
git merge issusxxxx //这时候应该不会有冲突了,因为分支issusxxxx和mubiaofenzhi的代码已经一致了
git log
git checkout issusxxx
git log
git checkout mubiaofenzhi
git push origin mubiaofenzhi
11、删除分支
删除本地分支
git branch -d fenzhi
强制删除本地分支
git branch -D fenzhi
删除远程分支
git push origin :branch-name
冒号前面的空格不能少,原理是把一个空分支push到server上,相当于删除该分支。
12、使用git pull文件时和本地文件冲突怎么办
(1)先将本地修改存储起来
$ git stash
这样本地的所有修改就都被暂时存储起来
用git stash list可以看到保存的信息
(2)pull内容
暂存了本地修改之后,就可以pull了。
git pull
还原暂存的内容
git stash pop stash@{0}
系统提示如下类似的信息:
Auto-merging c/environ.c
CONFLICT (content): Merge conflict in c/environ.c
意思就是系统自动合并修改的内容,但是其中有冲突,需要解决其中的冲突。
(3)解决文件中冲突的的部分
其中Updated upstream 和=====之间的内容就是pull下来的内容,====和stashed changes之间的内容就是本地修改的内容。碰到这种情况,git也不知道哪行内容是需要的,所以要自行确定需要的内容。
解决完成之后,就可以正常的提交了。
git stash的使用
git stash: 备份当前的工作区的内容,从最近的一次提交中读取相关内容,让工作区保证和上次提交的内容一致。同时,将当前的工作区内容保存到Git栈中。
git stash pop: 从Git栈中读取最近一次保存的内容,恢复工作区的相关内容。由于可能存在多个Stash的内容,所以用栈来管理,pop会从最近的一个stash中读取内容并恢复。
git stash list: 显示Git栈内的所有备份,可以利用这个列表来决定从那个地方恢复。
git stash clear: 清空Git栈。此时使用gitg等图形化工具会发现,原来stash的哪些节点都消失了。
比如你需要恢复stash@{1}这时候你需要做的是:
git checkout fcaa18f
git stash apply stash@{1}
http://www.cppblog.com/deercoder/archive/2011/11/13/160007.aspx
其他命令
cd d:/
d:/
ls
q
:q
ipconfig 查询ip
git clone xxxx.git
2、checkout分支
从已有的分支创建新的分支(如从master分支),创建一个dev分支
git checkout -b dev
查看本地分支
git branch
查看远程分支
git branch -a
3、拉最新代码
git pull origin xxxfenzhi
4、查看日志
git log
5、查看修改
查看文件修改
git status
查看所有修改
git diff
查看单个文件
git diff demo/project.properties
查看有哪些工具可以对比修改文件的
git difftool --tool-help
使用工具查看修改
git difftool --tool=vimdiff2
:q 退出工具 [c ]c 定位到上下修改的地方
6、忽略某个在仓库中管理的文件
本地修改不提交到远程仓库
git update-index --assume-unchanged index.jsp
取消本地忽略
git update-index --no-assume-unchanged index.jsp
7、提交代码
git status
git diff
如果是新建的文件
则git add <file>
如果是修改的文件
则git add <file>
如果是删除的文件
则 git rm <file>
提交代码
git commit -m "xxxxxxxx"
推送到远程分支
git push origin xxxxxfenzhi
8、已经推送到远程分支发现错误回滚的方法
提交错误之后的修复方法:
git reset --soft HEAD^ //回滚一个commit状态。能回到add之后那里
然后再commit一次
然后git push -f origin xxx //强推,即利用强覆盖方式用你本地的代码替代git仓库内的内容
9、远程覆盖本地:必杀技
git fetch --all
git reset --hard origin/xxxxxfenzhi
$ git fetch
$ git merge
这2句命令等价于
$ git pull
10、rebase合并分支
git log
q
git checkout mubiaofenzhi
git pull origin mubiaofenzhi //拉下要rebase的目标分支的代码到本地
git log
q
git checkout issusxxx //回到当前的分支
git rebase mubiaofenzhi
……解决冲突
git add -u //添加修改
git rebase --continue
git add -u
git rebase --continue
……rebase成功 已经把mubiaofenzhi的代码合并到了issusxxx分支上
git checkout mubiaofenzhi
git merge issusxxxx //这时候应该不会有冲突了,因为分支issusxxxx和mubiaofenzhi的代码已经一致了
git log
git checkout issusxxx
git log
git checkout mubiaofenzhi
git push origin mubiaofenzhi
11、删除分支
删除本地分支
git branch -d fenzhi
强制删除本地分支
git branch -D fenzhi
删除远程分支
git push origin :branch-name
冒号前面的空格不能少,原理是把一个空分支push到server上,相当于删除该分支。
12、使用git pull文件时和本地文件冲突怎么办
(1)先将本地修改存储起来
$ git stash
这样本地的所有修改就都被暂时存储起来
用git stash list可以看到保存的信息
(2)pull内容
暂存了本地修改之后,就可以pull了。
git pull
还原暂存的内容
git stash pop stash@{0}
系统提示如下类似的信息:
Auto-merging c/environ.c
CONFLICT (content): Merge conflict in c/environ.c
意思就是系统自动合并修改的内容,但是其中有冲突,需要解决其中的冲突。
(3)解决文件中冲突的的部分
其中Updated upstream 和=====之间的内容就是pull下来的内容,====和stashed changes之间的内容就是本地修改的内容。碰到这种情况,git也不知道哪行内容是需要的,所以要自行确定需要的内容。
解决完成之后,就可以正常的提交了。
git stash的使用
git stash: 备份当前的工作区的内容,从最近的一次提交中读取相关内容,让工作区保证和上次提交的内容一致。同时,将当前的工作区内容保存到Git栈中。
git stash pop: 从Git栈中读取最近一次保存的内容,恢复工作区的相关内容。由于可能存在多个Stash的内容,所以用栈来管理,pop会从最近的一个stash中读取内容并恢复。
git stash list: 显示Git栈内的所有备份,可以利用这个列表来决定从那个地方恢复。
git stash clear: 清空Git栈。此时使用gitg等图形化工具会发现,原来stash的哪些节点都消失了。
比如你需要恢复stash@{1}这时候你需要做的是:
git checkout fcaa18f
git stash apply stash@{1}
http://www.cppblog.com/deercoder/archive/2011/11/13/160007.aspx
其他命令
cd d:/
d:/
ls
q
:q
ipconfig 查询ip
相关文章推荐
- Uva227
- C++拷贝构造函数详解
- 虚拟继承
- 对于友元重载方式和成员函数重载方式的选择
- 编码&注释的小问题(未完成)
- Android中插件开发篇之—-应用换肤原理解析
- VM虚拟机三种网络类型(NAT, Bridged, Host-only)
- Android网络编程之JSON、GSON
- iOS --SQL的增加、删除、查找、修改
- String in java
- 项目之IC卡芯片3
- PHP中curl的用法
- phpv6_css
- 轻量级sqlite是增删改查
- NY187快速查找素数
- meteor安装过慢 curl install.meteor.com | sh
- iOS启动页尺寸及注意事项
- WebApi(三)-属性路由 自定义访问路径
- 多线程-2
- 跟我一起学习mysql技术内幕(第五版)吧!(学习日志)