git使用笔记

 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

 

13.使用checkout ,回滚文件

$ git checkout -- src/main/filter/dev-filter.properties

http://blog.csdn.net/arkblue/article/details/9871983

 

14.打tag

----------------------------

Git 中的tag指向一次commit的id,通常用来给开发分支做一个标记,如标记一个版本号。

打标签

git tag -a v1.01 -m "Relase version 1.01"

注解:git tag 是打标签的命令,-a 是添加标签,其后要跟新标签号,-m 及后面的字符串是对该标签的注释。

提交标签到远程仓库
git push origin -tags
注解:就像git push origin master 把本地修改提交到远程仓库一样,-tags可以把本地的打的标签全部提交到远程仓库。
删除标签
git tag -d v1.01
注解:-d 表示删除,后面跟要删除的tag名字
删除远程标签
git push origin :refs/tags/v1.01
注解:就像git push origin :branch_1 可以删除远程仓库的分支branch_1一样, 冒号前为空表示删除远程仓库的tag。
查看标签
git tag
或者

git tag -l

 

15、撤销提交

    git reset –soft commitid:回退到某个版本,只回退了commit的信息,不会恢复到index file一级。如果还要提交,直接commit即可
    git reset –hard commitid:彻底回退到某个版本,本地的源码也会变为上一个版本的内容

----------------------------

 

其他命令
cd d:/
d:/
ls
q
:q

ipconfig 查询ip

open . 打开文件夹

posted on 2016-03-22 23:58  2015xbx  阅读(252)  评论(0编辑  收藏  举报

导航