情形1:本地创建一个空项目(不同IDE会生成不同的配置文件),如何从远程git仓库中同步代码(不含依赖于IDE的配置文件,纯的源代码文件)到该项目中?
处理方法
- 进入到本地项目的根目录,在此路径下打开git hash,输入命令
git init
,初始化为仓库。 - 输入命令
git remote add origin [ssh-key-url或者https-url]
,将该项目与远程的git仓库关联,此时就可以从远程目标仓库同步代码到本地的这个项目中了。
情形2:如何删除已经commit到远程仓库中的文件(但保留本地文件,因为有时我们是希望将项目的源代码提交但不提交和IDE相关的配置文件)?
处理方法
首先更新本地代码为最新版本,然后进入到本地项目的根目录,在此路径下打开git hash,输入命令
git remove -r --cache [删除文件或文件夹]
。备注>>
1、删除文件时,输入文件的路径(默认根目录为项目的的根目录)即可,如git rm-r --cache src/Hello.java
;
2、删除文件夹时,输入文件夹的路径即可,如git rm-r --cache bin/
;
3、同时删除多个文件或者文件夹时,直接在git rm-r --cache
命令后以空格将各个文件或者文件件隔开的形式最佳就可以了,如git rm-r --cache A.java action/ B.java
修改本地的.gitignore文件,将不需要提交到远程仓库的文件或者文件夹加入其中,然后将本地代码提交到远程即可。
情形3:从远程仓库pull代码的时候,与本地代码出现了冲突,无法完成pull操作。现在需要保留远程仓库的代码,强制覆盖掉本地的代码。
处理方法
进入到本地项目的根目录,在此路径下打开git hash,依次输入命令git fetch --all
和git reset --hard origin/master
即可。
情形3:已经push到远程仓库的commit的注释(或者代码)需要修改
处理方法
git rebase -i HEAD~1
(1为提交的最后一条,也可以是提交的最近两条,以此类推)- 修改pick为edit,每次修改一个(要修改注释的那条),保存退出
git commit --amend
- 最上面一行修改注释内容,保存退出
git rebase --continue
git push -f
//更新代码库中的注释
情形4:本地git仓库已经和远程的git仓库关联,但是远程仓库的url地址发生了改变,需要重置本地与远程仓库的关联,例如github上修改了个人的username,使得原本的仓库url地址都改变了。
处理方法
第一种方法
- 进入本地仓库根目录,执行命令
git remote rm origin
,删除本地仓库和远程仓库的关联 - 执行命令
git remote add origin [ssh-key-url或者https-url]
关联本地仓库和远程仓库
- 进入本地仓库根目录,执行命令
第二种方法
- 进入到本地git仓库根目录,打开.git文件夹下的config文件,内容如下:
- 可以选将上面图中红色圈出git remote部分删除,或者直接修改其中的远程git仓库地址也可以。