赞
踩
前提是该代码没有push到远程,
先 git commit --amend
然后再操作Vim。
注意:--amend选项仅仅可以修改最近的一次提交
git bash中出现vim时,
git在合并分支时出现操作Vim的情况,
1.按键盘字母 i 进入insert模式
2.修改最上面那行黄色合并信息,可以不修改
3.按键盘左上角"Esc"
4.输入":wq",注意是冒号+wq,按回车键即可
如果是输出状态,首先Esc退出输入状态,然后Shift+;(其实就是输入冒号:),再输入q!或wq!(不保存改动,wq!是保存文件的写入修改)退出
有时候不小心使用了git add .操作,一次性add了好多文件,分两种情况:
1. 取消已经add的单个文件,使用下面的命令
git rm --cached <fileName>
2. 取消已经add的文件夹,使用下面的命令
git rm -r --cached <folderName>/
其中-r,代表递归操作,因为后面接的是文件夹,就会把文件夹下的所有已经add的文件都取消掉
第一步,为避免冲突需要先同步下远程仓库
git pull
第二步,在本地项目目录下移除所有的缓存索引, -r修饰的意思是删除文件夹。
git rm -r --cached .
第三步,再次add所有文件
输入以下命令,再次将项目中所有文件添加到本地仓库缓存中
将所有修改过的工作文件提交暂存区
git add .
第四步,添加commit,提交到远程库
git commit -m "filter new files"
git push
git svn clone --stdlayout --authors-file=authors.txt "<svn url>"
在你要clone代码的路径下创建一个authors.txt,里面的内容需要参考svn的log来写,里面配置所有提交过代码人的信息,然后log 就能过去, 具体格式如下:
userName = userEmail
例如:zhang san = 111@email.com
可以去掉 --stdlayout
注意:svn url,最好是用""包起来。如果svn url中有空格,就会出现问题。
先切到master分支,然后执行,一般是fast forward的模式,直接指向该分支,所以速度很快。
git merge develop
如果有冲突,就需要去手动结局冲突。
推荐下面这种merge
git merge --no-ff develop
--no-ff 不使用fast-forward方式合并,保留分支的commit历史
(如果develop的分支有单独的修改,需要merge的分支有自己另外的修改,用上面的命令,就会整体merge,develop分支中的修改提交就不会被覆盖掉)
1.删除后添加
git remote rm origin
git remote add origin <url>
2.修改命令
git remote origin set-url <url>
再次启动同步会提示输入用户名密码只要输入正确后就可以正确同步了
说明:origin 是默认的远程版本库名称 还可以创建其他名称的版本库
或者,使用下面的方式修改
git config remote.origin.url "https://......git"
格式基本相同diff -u统一的差别。 例如: diff -u <(seq -w 16) <(seq -w 16 | grep -Ev '^(02|03|14|15)$') 这里我们删除了第2、3、14和15行: @@ -1,6 +1,4 @@ 01 -02 -03 04 05 06 @@ -11,6 +9,4 @@ 11 12 13 -14 -15 16 @@ -1,6 +1,4 @@指: -1,6*这一段对应于第一个文件的第1至第6行: 01 02 03 04 05 06-意思是“老”,因为我们通常把它作为diff -u old new。 +1,4说这个片段对应于第二个文件的第1行到第4行。+意思是“新”。 我们只有4行,而不是6行,因为2行被删除了!新来的家伙是: 01 04 05 06 @@ -11,6 +9,4 @@对于第二个大块头来说,它类似于: 在旧文件中,我们有6行,从旧文件的第11行开始: 11 12 13 14 15 16 在新文件中,我们有4行,从新文件的第9行开始: 11 12 13 16 注意这一行11是新文件的第9行,因为我们已经删除了前面的文件中的2行:2和3。 根据git版本和配置,还可以在@@线,例如func1() {在: @@ -4,7 +4,6 @@ func1() { 这也可以通过-p diff。 示例:旧文件: func1() { 1; 2; 3; 4; 5; 6; 7; 8; 9; } 如果我们移除线6,差异显示: @@ -4,7 +4,6 @@ func1() { 3; 4; 5; - 6; 7; 8; 9; 请注意,这不是正确的行func1*它跳过了行1和2。
每个操作系统有自己的换行符(就是当你按下”回车”后,系统会自动插入一些不可见的符号来表示一行的结束)
Linux和Mac都是使用LF ,Windows 则是CRLF ,这样就造成了差异。
git config --global core.autocrlf true
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。