GIT的几个实用技巧

一、修改本地仓库的远程仓库url
从别的项目不想fork过来,而想自己新建一个仓库重新上传,并保留完整日志,可使用下方法:

git remote set-url origin https://github.com/ykevin/libopencm3.git

二、删除远程分支
github上有一个远程测试分支,已经好久不用了,现在想删除掉。
git push [远程名] :[分支名]

git push origin :test

三、添加项目的依赖模块
项目中经常会用到第三方库,这时想做为依赖库使用,而不是把代码完整下载到你的项目中。

在项目的根目录添加子模块  
$ cd demo_project
$ git submodule add git://github.com/libopencm3/libopencm3.git 
$ git submodule init
$ git submodule update

四、git下载单个目录
我靠,这个仓库这么大,哥就只想要里面的某个文件夹里面的代码,总不能让我都git下来,又不是svn,岂不忧伤,请参考下面的方法:

1. 初始化空仓储:
    git init <repo> && cd <repo>
    git remote add –f origin <url>
2. 打开sparse-checkout特性:
    git config core.sparseCheckout true
3. 配置.git/info/sparse-checkout,列出你想要checkout的目录:
    echo some/dir/ >> .git/info/sparse-checkout   
    echo another/sub/tree >> .git/info/sparse-checkout
4. 从远端获取代码:
    git pull master

五、删除远程打的tags

git push origin master :1.0.0(tags名称)

六、删除远程的某一次提交,
经常有这种经历,某次提交已经到远程仓库了,现在后悔了,咋办?(先凉办吧,然后去买后悔药,嘿嘿),请按下面操作,将本地仓库回退到上一次提交记录,然后强制提交(慎用,用了以前的记录就真的消失 了)。

git push origin +master  (注意“+”为强制提交)

七、在https方式下记住登录密码的方法
当你加入了ssh-key公钥后,你会发现有时提交时每次要输入密码,但有时不需要,当然这不是人品问题,而是git与https的区别,在repository中有个.git 目录,目录里面有个config文件,如果url = git://github.com/ykevin/cpuls.git 以这种方式git下来的代码,提交时就不需要每次输入密码,如果url = https://github.com/ykevin/cpuls.git则需要每次输入,那有没有解决方法呢?请参考下面,在你的仓库下面输入下面命令:

git config --global credential.helper store

猜你喜欢

转载自blog.csdn.net/ykevin0510/article/details/46399927