强制拉取master(覆盖本地):
1
| git clone git@github.com:laravel/laravel.git --depth=1
|
只拉取最后一次的提交结果。
1
| git clone git@github.com:laravel/laravel.git --depth=1
|
开发者私人信息保密方法
实际开发中(类似邮件功能)需要开发者私人密码的文件,可以采用以下方法进行隐私保护。请在命令行中使用。
1 2 3 4 5
| // 假设文件无改动,作用于版本库中已存在的文件。 // 此方法将确保本地文件不提交,并且版本库中此文件的变更无法影响本地文件。 git update-index --assume-unchanged app/config/mail.php // 取消并恢复为普通文件 git update-index --no-assume-unchanged app/config/mail.php
|
设置全局代理(来自网络)
1
| git config --global https.proxy https://user:password@address:port
|
clone某个特定分支
1 2 3 4 5
| mkdir $BRANCH cd $BRANCH git init git remote add -t $BRANCH -f origin $REMOTE_REPO git checkout $BRANCH
|
比较某个文件和远程分支上的区别
1
| git diff localbranch remotebranch filepath
|
在版本库所有版本中搜寻一条字符串
1 2 3 4 5
| git rev-list --all | ( while read revision; do git grep -F 'Your search string' $revision done )
|
向分支提交一个初始的空commit,保证完全复位
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| 1.创建一个新的空分支,例如:newroot
git checkout --orphan newroot git rm --cached -r . git clean -f -d 2.创建空的commit
git commit --allow-empty -m '[empty] initial commit' 3.重新发送分支的全部内容
git rebase --onto newroot --root master 4.删除临时分支newroot
git branch -d newroot 现在master就已经包含了一个空的root commit了。
|
如何修改一个特定的commit
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| 当你想在推送前重做你最后的commit时,可以使用修改命令(git commit --amend)。如果你想修改的不是最后一个commit呢?
这种情况下,你可以使用git rebase,例如,你想要修改bbc643cd commit,运行下面的命令:
$git rebase bbc643cd^ --interactive 在默认的编辑器中选择并修改你期望修改的,然后保存修改并输入:
$ git add < filepattern > 现在你就可以使用
$git commit --amend 来修改commit,之后使用
$ git rebase --continue 返回之前最新的commit。
|