Git踩坑记

这里存放一些个人在Git的使用过程中用到的命令。

Git删除远程仓库的文件或文件夹

需要明确的是远程仓库的文件或者文件夹是不能直接删除的,所以需要删除本地仓库的相应文件,然后在push到远程仓库。

1
2
3
4
git rm -r -n --cached */src/* // -n参数是展示要删除的缓存文件的列表,不会执行删除动作;cached删除的是缓存而非物理删除;
git rm -r --cached */src/* // 最终执行命令
git commit -m "移除src目录下所有文件的版本控制" // 提交
git push origin master // 提交到远成仓库

git rm --f "文件路径",不仅将该文件从缓存中删除,还会将物理文件删除(不会回收到垃圾桶)

若用git status命令查看,则/src/目录下文件出现在结果列表里, 我们不希望这个目录下的文件出现,则在项目根目录下,和.git 同级目录下,新建一个.gitignore文件,把.gitignore提交到远程服务器。 则/src目录就不会被提交了。

windows使用git时出现:warning: LF will be replaced by CRLF

原因分析:
CRLF – Carriage-Return Line-Feed 回车换行
就是回车(CR, ASCII 13, \r) 换行(LF, ASCII 10, \n)。
这两个ACSII字符不会在屏幕有任何输出,但在Windows中广泛使用来标识一行的结束。而在Linux/UNIX系统中只有换行符。
也就是说在windows中的换行符为 CRLF, 而在linux下的换行符为:LF
使用git来生成一个rails工程后,文件中的换行符为LF, 当执行git add .时,系统提示:LF 将被转换成 CRLF

解决办法:

删除.gif文件

1
2
3
4
del .git // 或者直接去目录下删除
git config --gobal core.autocrlf false
git init
git add .

git冲突解决

提交代码到远程仓库:

1.若存在新建文件的话不会被跟踪,需用git add file_name来纳入追踪,或者渐变用git add .
2.提交代码到本地仓git commit -m "commit_info",此代码能与上面代码合并git commit -am "commit_info" 3.将本地代码同步到远程仓git push origin master`指定分支

Git创建和合并分支

参考资料>>
更多资料>>

一般默认分支为master分支,可以通过命令git checkout -b newBranch来签出当前分支并创建和进入newBranch分支;
改命令等效于:

1
2
git branch dev
git checkout dev

Ethan wechat
欢迎扫一扫关注~
坚持原创技术分享,您的支持将鼓励我继续创作!