当我还没有用git图形化管理工具时,提交git库时总是需要敲一大堆的git命令,鼓(xia)捣(gao)了很久,期间也碰到了很多问题,每每解决问题后就心情愉悦,习惯在小本本上记录下解决方案,避免自己无脑再次踩坑。现小编将无私地奉献出自己的小本本,希望能对你有所帮助。
名人曾说过:世界上本没有路,踩的坑多了,自然也就有了路。
1. 如何去git提交时的用户名和密码输入?
在使用git库的过程中,每次pull和push时总是要输入账号和密码,非常麻烦,于是就上网去找方法避免这种情况。
解决方案:进入git bash终端,输入如下命令:
$ git config --global credential.help store
执行完之后查看.gitconfig文件,就会发现多了一项
[credential]
helper = store
从此,再输入git提交的命令时再也不需要验证用户和密码啦 (づ。◕‿‿◕。)づ
2.如何删除Git中的.DS_Store文件
使用Mac的用户可能会注意到,系统经常会自动在每个目录生产一个隐藏的.DS_Store文件。.DS_Store(英文全称Desktop Services Store)是一种由苹果公司的Mac OS X操作系统所创造的隐藏文件,目的在于存储目录的自定义属性,例如文件的图标位置或者是背景色的选择,相当于Windows下的desktop.ini。
和别人交换文件(或你做的网页需要上传的时候)应该把 .DS_Store 文件删除比较妥当,因为里面包含了一些你不一定希望别人看见的信息(尤其是网站,通过 .DS_Store 可以知道这个目录里面所有文件的清单,很多时候这是一个不希望出现的问题)
##### 删除.DS_Store#####
如果你的项目中还没有自动生成的 .DS_Store 文件,那么直接将 .DS_Store 加入到 .gitignore 文件就可以了。如果你的项目中已经存在 .DS_Store 文件,那就需要先从项目中将其删除,再将它加入到 .gitignore。如下:
#删除项目中的所有.DS_Store,这会跳过不在项目的.DS_Store
find . -name .DS_Store -print0 | xargs -0 git rm -f --ignore-unmatch
#将.DS_Store加入到.gitignore
echo .DS_Store >> ~/.gitignore
#更新项目
git add --all
git commit -m '.DS_Store banished!'
如果你只需要删除磁盘上的 .DS_Store,可以使用下面的命令:
删除当前目录及其子目录下的所有.DS_Store 文件:
find . -name '*.DS_Store' -type f -delete
删除所有目录的.DS_Store文件
sudo find / -name ".DS_Store" -depth -exec rm {} \;
##### 禁用或启用自动生成#####
禁止.DS_Store生成
打开“终端”,复制粘贴下面的命令回车执行,重启Mac即可生效
defaults write com.app.desktopservices DSDontWriteNetworkStores -bool TRUE
恢复.DS_Store生成
defaults delete com.apple.desktopservices DSDontWriteNetworkStores
3.如何克隆Git仓库里分支代码?
自从公司的技术越来越规范了之后,所有的开发工作都从master分支切换到了dev分支,我们知道git clone git@gitlab.xxx.com:xxxx.git
指令中,默认clone的是这个仓库的master分支,如果最新的代码不在master,该怎么拿到呢?小编就碰到了这个问题,最新的代码是在dev分支上,尝试了好多次之后,终于成功了,感谢度娘 (●´∀`●)ノ
解决方案:克隆所有的分支,找一个干净的目录,假设是git_work,
cd git_work
git clone http://myrepo.xxx.com/project/.git
cd project
git branch -a //列出所有的分支
remotes/origin/dev
remotes/origin/release
git checkout -b dev origin/dev //作用是checkout远程的dev分支,在本地起名为dev分支,并切换到本地的dev分支
git checkout -b release origin/release
git checkout dev //切换到dev分支,并开始开发
从分支clone代码,可以用以下命令:
git clone -b <branch name> [remote repository address]
例如:git clone -b my-branch https://git@github.com/username/myproject.git
4.git如何修改文件名的大小写
git mv --force filename.js FileName.js
或者
git mv -f filename.js Filename.js