1.Git官网

https://git-scm.com/

https://git-scm.com/book/zh/v2

https://git-scm.com/book/zh/v1/Git-基础-打标签

 

2.GitLab-CE安装

https://packages.gitlab.com/gitlab/gitlab-ce

参看地址

https://www.cnblogs.com/wenwei-blog/p/5861450.html

https://www.cnblogs.com/straycats/p/7637373.html 

https://www.jianshu.com/p/2400d9e57fd1

 

gitlab汉化包

https://gitlab.com/xhang/gitlab

 

gitlab取消用户验证

备份/opt/gitlab/embedded/service/目录,进入service目录的子目录gitlab-rails/app/models中修改user.rb文件,将此文件devise中的confirmable删除,然后在进入service目录的子目录gitlab-rails/app/views/devise/shared/中修改_signup_box.html.haml文件,将此文件中的末尾四行删除即含有new_confirmable_path的块,重新加载配置gitlab-ctl reconfigure,重启服务即可gitlab-ctl restart

 

GitLab备份与还原过程中的权限问题

https://www.jianshu.com/p/68a39c7193e7

gitlab基本维护和使用

https://www.cnblogs.com/voipman/p/gitlab.html

 

Gitlab - 如何恢复用户注册与登陆

配置gitlab时,不小心将用户注册\登陆功能禁掉了,页面变成了No authentication methods configured,gitlab版本

11.3.4,解决方法:

gitlab-psql -h /var/opt/gitlab/postgresql -d gitlabhq_production

update application_settings set password_authentication_enabled_for_web='t';

\q

gitlab-ctl restart

 

访问GitLab的PostgreSQL数据库

https://www.cnblogs.com/UniqueColor/p/7767012.html

https://www.cnblogs.com/sfnz/p/7131287.html?utm_source=itdadao&utm_medium=referral

http://www.postgres.cn/docs/9.3/

 

如何使用git配置账号密码

https://blog.csdn.net/maomao1983zy/article/details/132752206

https://segmentfault.com/a/1190000040113454

 

使用控制台实时查看logs 

http://hai0378.iteye.com/blog/2366869


Nginx配置反向代理访问 Gitlab

简介

gitlab 作为当前企业版本控制的有力工具,非常流行,官方提供了非常方便的安装配置方式,能让我们快速的搭建一个便捷的代码版本控制系统。
但是因为 gitlab 本身内置了 nginx,当我们的 gitlab 服务要和其他 web服务共存,就需要做一点简单的改变,以适应这种情况
第一个办法是禁用 gitlab 自带的 nginx,使用我们自己安装的 nginx,这种方法我不喜欢。
第二种办法就是 配置代理服务器,继续使用 gitlab 的内置 nginx

修改 gitlab 配置(官方安装方式下,配置文件是/etc/gitlab/gitlab.rb

  • gitlab nginx 端口监听修改
    nginx['listen_port'] = 端口号

  • gitlab 的域名
    external_url '域名'

修改完上述参数 执行命令 gitlab-ctrl reconfigure

添加 nginx 代理服务器配置

upstream git{
# 域名对应 gitlab配置中的 external_url
# 端口对应 gitlab 配置中的 nginx['listen_port']
server 域名:端口;
}


server{
listen 80;
# 此域名是提供给最终用户的访问地址
server_name 域名;

location / {
# 这个大小的设置非常重要,如果 git 版本库里面有大文件,设置的太小,文件push 会失败,根据情况调整
client_max_body_size 50m;

proxy_redirect off;
#以下确保 gitlab中项目的 url 是域名而不是 http://git,不可缺少
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
# 反向代理到 gitlab 内置的 nginx
proxy_pass http://git;
index index.html index.htm;
}
}

server 域名:端口;

可以改为:

端口对应 gitlab 配置中的 nginx['listen_port']

server IP:端口;

下面的配置也跟着改一下就行了

 

在线代码托管的仓库

https://github.com/

https://gitee.com/

 

git clone 使用以及记住用户名和密码的方法

git clone http://邮箱(或用户名):密码@仓库

 示例:

  1. 邮箱 test@qq.com

  2. 密码: test

  3. 仓库: http://git.test.com/abc/demo

  4. 注意: 邮箱中的 @ 要使用 %40 代替。仓库 URL 不需要 http:// 。

命令:

git clone http://test%40qq.com:test@git.test.com/abc/demo

拉取指定分支的内容

git clone -b 分支  http://xw%40qq.com:xw@git.test.com/abc/demo

此方法会将用户名和密码写入当前项目.git目录下的config文件中。

 

 

开发与OP流程规范(git)

https://www.cnblogs.com/aylin/p/6042653.html

 

更换git远程地址

git remote remove origin
git remote add origin <新的地址>
git remote -v 检查一下配置的远程仓库地址

 

创建分支

git checkout -b feature_v
git push origin feature_v
git push --set-upstream origin feature_v

 

1、查看本地分支 : git branch
前面带有*号的是当前分支
2 、删除本地已合并的分支: git branch -d [branchname] 某些情况下可以用 git branch -D [branchName] (使用时应注意是否已合并)
提示删除了一个名为list的本地分支
3、删除远程分支: git push origin --delete [branchname]
提示删除了一个名为 201804019-test-files 的分支,
注意: 在删除远程分支时,同名的本地分支并不会被删除,所以还需要单独删除本地同名分支
如果发生以下错误:
error: unable to delete ‘origin/xxxxxxxx-fixbug’: remote ref does not exist
error: failed to push some refs to ‘git@github.com:xxxxxxxx/xxxxxxxxxx.git’
解决办法: git checkout xxxxx-fixbug 切换到当前分支上, 然后再 进行 git push --delete origin origin/xxxxx-fixbug
此时将不会再发生错误 。

4、创建分支 :git branch [branchname]
需要注意,创建分支时,不会有什么提示。

5、 查看全部分支(包含本地和远程) :git branch -a

6、根据指定版本号创建分支: git checkout -b branchName commitId
7、清理本地无效分支(远程已删除本地没删除的分支): git fetch -p
8、如果分支太多,还可以用此命令进行分支模糊查找: git branch | grep 'branchName'

git tag 标签简介
1、git tag --list 列出所有的标签
2、git tag <your_tag_name> 创建一个标签
3、git tag -a <your_tag_name> -m ‘your_tag_description’ 创建一个带有注释的标签
4、git show <your_tag_name> 查看标签信息
5、git ls-remote --tags origin 查看所有的远程标签及commit ID
6、git tag -d <your_tag_name> 删除一个标签
7、git push --delete origin <your_tag_name> 删除远程仓库的标签
8、git push origin <your_tag_name> 推送一个标签到远程
9、git push origin --tags 推送多个本地标签到远程

删除远程标签时遇到的问题
起因: 由于每次上线都会打一个标签,因此标签库存在多个标签。想要删除全部的无效标签。 结果执行完毕删除远程标签和删除本地标签后。 发现其他同事再次推送的时候, 删除的那些标签又莫名其妙的回来了。
原因: 这是因为其他同事的本地标签没有清理,这时候就必须要其他同事全部都要清理本地的标签。 (很显然这行不通,很难。)
解决办法:
使用 git tag -l | xargs -n 1 git push --delete origin 命令一条一条的删除远程仓库.
然后再用 git tag -l | xargs git tag -d 清理本地仓库。 (此方法楼主已经测试并且可用) 。

 

批量删除本地分支脚本:batch_delete_local_branch.bash

# 删除本地分支

for branch in $(git branch -vv | grep ': gone]' | awk '{print$1}'); do

  # 删除每个本地分支

  git branch -d $branch

done

 

git 切换远程仓库地址
1、切换远程仓库地址:
方式一:修改远程仓库地址

【git remote set-url origin URL】 更换远程仓库地址,URL为新地址。

方式二:先删除远程仓库地址,然后再添加

【git remote rm origin】 删除现有远程仓库
【git remote add origin url】添加新远程仓库

2、【git remote -v 】查看远程仓库的地址

通过命令直接修改远程仓库地址
git remote 查看所有远程仓库
git remote xxx 查看指定远程仓库地址
git remote set-url origin 你新的远程仓库地址
先删除在添加你的远程仓库
git remote rm origin
git remote add origin 你的新远程仓库地址

 

 

git add 添加 多余文件 这样的错误是由于, 有的时候 可能

git add . (空格+ 点) 表示当前目录所有文件,不小心就会提交其他文件

git add 如果添加了错误的文件的话

撤销操作

git status 先看一下add 中的文件 git reset HEAD 如果后面什么都不跟的话 就是上一次add 里面的全部撤销了 git reset HEAD XXX/XXX/XXX.java 就是对某个文件进行撤销了

 

今天在拿到新的iMac开发机器的时候直接使用旧笔记本copy过来的代码,提示帐号密码有问题.找了很多方法都不太管用.

分别打开下面2个文件,将[User]部分完全删除后保存,再使用Git命令的时候就会提示输入帐号密码了.

$ vi .git/config (工程当前路径的Git配置文件)

$ vi ~/.gitconfig (全局的Git配置文件)

 

应用程序-实用工具-双击钥匙串-右上角搜索github-右击选项删除

 

Git操作之 git add 撤销、git commit 撤销

https://blog.csdn.net/w958796636/article/details/53611133

https://blog.csdn.net/Bynine9/article/details/125798625

1、git add 添加多余文件 撤销操作

git reset HEAD 后面什么都不跟的,就是上一次add 里面的内容全部撤销
git reset HEAD XXX 后面跟文件名,就是对某个文件进行撤销

2、git commit 撤销操作

git reset --soft HEAD^ 

这样就成功的撤销了commit操作

注意,仅仅是撤回commit操作,您写的代码仍然保留。

git reset 其他参数说明:
--mixed 
意思是:不删除工作空间改动代码,撤销commit,并且撤销git add . 操作
这个为默认参数,git reset --mixed HEAD^ 和 git reset HEAD^ 效果是一样的。

--soft  
不删除工作空间改动代码,撤销commit,不撤销git add . 

--hard
删除工作空间改动代码,撤销commit,撤销git add . 

注意完成这个操作后,就恢复到了上一次的commit状态。

 

commit注释写错了,只是想改一下注释,只需要:

git commit --amend

此时会进入默认vim编辑器,修改注释完毕后保存就好了。

 

Git操作:查看所有分支的提交修改

解决方案:git log --graph --all

如果要再简化观看流程,可以再加上--oneline属性,一个commit只显示一行。所以最终的形式为:git log --graph --all --oneline

 

git图示所有分支的 历史

https://www.cnblogs.com/chucklu/p/4748394.html

 

git 如何查看远程分支创建时间

git reflog show --date=iso test_branch

http://www.zztongyun.com/article/git%20%E8%BF%9C%E7%A8%8B%E5%88%86%E6%94%AF%E5%88%9B%E5%BB%BA%E6%97%B6%E9%97%B4

 

git查看全部分支的命令:git branch -avv

 

一个小时学会Git ****

https://www.cnblogs.com/best/p/7474442.html#_label3_3_3_2

https://www.cnblogs.com/ludashi/p/8093145.html

 

git

https://www.cnblogs.com/bescheiden/articles/11126319.html

https://www.cnblogs.com/change-oneself/p/10242879.html

https://www.cnblogs.com/hukuangjie/p/11369434.html

https://www.cnblogs.com/tochw/p/12942036.html

https://blog.csdn.net/weixin_37697277/article/details/80250879

 

GitLab下载源码的两种方式(https/ssh-key)

https://blog.csdn.net/sinat_34715587/article/details/94397533

 

拉取指定tag的项目
git clone --branch [tags标签] [git地址]

git clone -b v5.2.0 --depth=1 http://gitlab地址

-b 后面写上指定 版本标签 , 即 tag, 比如 v5.2.0
--depth 表示克隆深度, 1 表示只克隆最新的版本. 因为如果项目迭代的版本很多, 克隆会很慢

因为 tag 相当于是一个快照,是不能更改它的代码的。

如果要在 tag 代码的基础上做修改,你需要一个分支:

git checkout -b branch_name tag_name

这样会从 tag 创建一个分支,然后就和普通的 git 操作一样了。

 

git拉取指定commit

方法:先拷贝代码,再切换

1、先拉取

git clone https://github.com/tianqixin/runoob-git-test
2、切换分支,直接就切换到之前提交过的代码

(dev 是分支名 , 2342dsfsdfs2 是提交过的 commit 的id)

git checkout -b dev 2342dsfsdfs2
** 查看commit 的 id

git log //查看全部提交记录
git log -p -2 //查看最近两次提交记录

 

git将指定的commit合并到指定的分支

1. 将指定的commit合并到当前分支
  git cherry-pick commit_id

git checout master
git cherry-pick 1873e52 (如果没有冲突,将成功合并)
git push origin master


2. 合并多个连续 commit 到指定分支
  假设需要合并 devlop 上从 fb407a3f 到 92d2a449 的 commmit 合并到 master 分支
  a. 基于 devlop 分支的 92d2a449 commit 创建一个新分支
    git checkout -b new_branch_name 92d2a449
  b. 将指定 commit 之后的提交记录合并到指定分支(此处为master)
    git rebase --ontomaster 92d2a449^
3. 将本地的 commit 推送到其他分支
  git push origin branchA:branchB

https://blog.csdn.net/huyongfu2004/article/details/122239102

https://zhuanlan.zhihu.com/p/357770707

https://www.ruanyifeng.com/blog/2020/04/git-cherry-pick.html

 

Git 开发必备 .gitignore 详解

https://blog.csdn.net/nyist_zxp/article/details/119887324

 

Git回滚

https://blog.51cto.com/u_15881945/5866266

https://blog.csdn.net/paradoxzl/article/details/125186270

 

Git合并某次提交

https://blog.csdn.net/wangxiaozhonga/article/details/127551603

 

git创建/删除本地branch(分支),tag(标签)

https://blog.csdn.net/u013992330/article/details/86539767

 

Git之拉取指定tag版本/切换指定tag代码

https://blog.csdn.net/lovedingd/article/details/127568704

 

Git分支修改名字

1、本地分支重命名

 git branch -m oldName  newName

2、将重命名后的分支推送到远程

git push origin newName

3、删除远程的旧分支

git push --delete origin oldName

显示如下,说明删除成功

To http://11.11.11.11/demo/demo.git
 - [deleted]           oleName

 

 

Git 应用场景记录

git  撤销提交到远程服务器上的合并不生成新的提交记录

1.我新建了一个开发分支,feature/aaa;

2.提交了几次代码;

3.合并到了develop分支上,测试环境已经运行;

4.现在这个分支废弃了;

5.想删除develop上合并这个分支的所有提交记录并且不产生新的记录;

6.以下方式解决,前提是develop只有这个分支合并的代码,不存在其他分支合并的代码

A)本地切换到develop分支;

B)git log 找到合并feature/aaa分支之前最后一次提交记录,记下commit号,例如:b95269392465ded216b2715757e1aa291ee5e12b;

C)执行 git reset --hard b95269392465ded216b2715757e1aa291ee5e12b 命令,恢复到这次提交

D)执行 git push -f origin develop 强制更新远程相应的分支,不强制不能更新,因为远程比本地的新;

E)测试环境服务器上找到相应的代码目录切换到develop分支,执行  git reset --hard b95269392465ded216b2715757e1aa291ee5e12b 即可。

参考链接

https://blog.csdn.net/a1139628523/article/details/128906360

https://betheme.net/a/21414242.html?action=onClick

https://deepinout.com/git/git-questions/296_git_git_how_to_undo_a_merge.html

https://blog.csdn.net/Connie1451/article/details/131470961

https://blog.csdn.net/qq_40813329/article/details/122985896

https://blog.csdn.net/cxu123321/article/details/97894090

 

git把某个开发分支误合并到master分支怎么处理

TortoiseGit代码回滚-----https://blog.csdn.net/calmreason/article/details/119208525

 

 

使用网易企业免费邮后应如何设置站点的smtp

免费企业邮支持POP3/SMTP服务,您可以通过电脑客户端软件更好地收发邮件,服务器地址:

POP3:pop.ym.163.com 默认端口为:110

SMTP:smtp.ym.163.com 默认端口为:25


SMTP服务器地址写:smtp.ym.163.com

SMTP用户名:邮箱@abc.com

SMTP登录密码:mima

域名:写ym.163.com 或者你的mail.abc.com 试试

pop.ym.163.com
smtp.ym.163.com

 

http://www.postfix.org/INSTALL.html

https://www.cnblogs.com/alex-note/p/6840160.html

http://linux.vbird.org/linux_server/0380mail.php

https://blog.csdn.net/wh211212/article/details/53040620

posted on 2018-10-22 13:17  ITwiseartisan  阅读(311)  评论(0)    收藏  举报