分类 git使用小技巧 下的文章

通过git钩子部署项目

https://www.cnblogs.com/dudeyouth/p/6395551.html

将git用户添加到www用户组
usermod -a -G www git

···
// 已有项目部署
cd existing_folder
git init
git git remote add origin ssh://git@47.106.101.145/home/git/warehouse/game.git
git add .
git commit -m "Initial commit"
git push -u origin master
···

git拉取远程仓库后, 怎么每次push时不重复输入密码(coding | github | osc)

有两种方法:

1. 使用 SSH 方式进行推送
2. 对于 Https 协议: 首先在全局配置保存你的密码, ~/.git-credentials (没有就创建)内添加 https://{username}:{passwd}@git.coding.net 然后执行配置 Git 命令存储认证命令: $git config --global credential.helper store

执行后在 ~/.gitconfig 文件会多出下面配置项: credential.helper = store

git 删除分支

git branch -D [branch] # 删除本地分支

git branch -r -d [branch] # 删除远程分支, 只是删除本地的索引, 还要执行下面命令
git push <远程主机名> <本地分支名>:<远程分支名> # 本地分支名填空, 把一个空分支push到server上,等于删除该分支

git reflog

Git reflog 可以查看所有分支的所有操作记录(包括(包括commit和reset的操作),包括已经被删除的commit记录,git log则不能察看已经删除了的commit记录

git reflog # 查看所有版本号
git reset --hard version # 恢复想要恢复的版本

查找问题的利器 - Git Blame

如果想查看文件的每个部分是谁修改的, 那么 git blame 就是不二选择. 只要运行'git blame [filename]', 可以得到整个文件的每一行的详细修改信息, 包括SHA串,日期和作者

还可以用"-L"参数在命令(blame)中指定开始和结束行

git blame -L <n,m> filename