下载代码
在对应文件夹下右键Git Bash Here输入:
giit clone [git地址]
git clone --branch [tags标签] [git地址] #下载对应tag的代码
git clone git@server-name:path/repo-name.git #拷贝代码到本地
更新分支代码
git pull origin Branchname
切换代码分支
git checkout:
git branch #查看当前分支
git checkout Branch #切换分支
git checkout -b newBranch origin/XX #新建分支并且切换
Linux编译
#安装下载gitlab上提示的所有东西: Build 和build active部分
yum install openssl openssl-devel #安装openssl
#到Makefile目录下make编译
配置SSH协议
配置过后需要修改hosts文件
Windows
1、运行git bash,生成ssh公钥和私钥,回车到生成在默认路径/root/.ssh/下生成文件
ssh-keygen -t rsa -C 'xxx@xxx.com' //邮箱是自己gitlab绑定的邮箱
2、打开公钥文件id_rsa.pub,并且复制全部内容。
3、打开gitlab,Add SSH Key,将第2步中复制的内容粘贴到Key所对应的文本框,在Title对应的文本框中给这个sshkey设置一个名字,点击Add key按钮
4、在第一次使用SSH连接GitLab的时候会有一个RSA密码指纹确认,输入yes接受。
Centos
转载于博主xwj1992930
地址https://blog.csdn.net/xwj1992930
sudo yum install -y git # 安装git
git --version #查看git是否安装成功
git config --global user.name "Name" #配置用户
git config --global user.email "email@example.com" #配置邮箱
ssh-keygen -t rsa -C "youremail@example.com" # 生成公钥私钥
# Add key操作
vim /root/.ssh/id_rsa.pub
#复制到gitlib配置SSH
#修改hosts文件
git clone git@server-name:path/repo-name.git #拷贝代码到本地
#安装下载gitlab上提示的所有东西: Build 和build active部分
yum install openssl openssl-devel #安装openssl
#到Makefile目录下make编译
#推送代码到远端
git remote add origin git@server-name:path/repo-name.git
git add 文件名 #添加文件
git commit -m "说明" # 提交到本地版本库
git push -u origin master
#其他操作
git reset --hard HEAD^ # 回退到上个版本
git reset --hard 1094a # 回退到特定版本号(commit以后回退)
git reflog # 记录每一次命令
分支
git branch -a # 查看所有分支
git branch -vv # 查看分支关联
git branch dev # 创建分支
git checkout dev # 切换分支
git merge dev # 合并某分支到当前分支
git merge --no-ff -m "msg" dev # 普通模式合并,合并后的历史有分支
git branch -d dev # 删除分支
git checkout -b dev # 创建并切换分支
# 合并分支,无法merge
git stash save 名字 # 暂存工作状态
git pull origin dev # 拉下来
git stash list # 查看已经暂存的状态
git stash pop stash@{0} # 将暂存状态merge到当前分支
还有冲突时,手动修改文件,然后add/commit
git log --graph # 分支合并图
# bug分支issue
git stash # 暂存工作状态
git stash list # 查看暂存工作状态
git stash pop # 恢复暂存状态并删除状态
# 开发分支feature
git branch -D <name> # 强制删除未合并的分支
rebase
git rebase # 本地未push的分叉提交历史整理成直线
标签
git tag 标签名# 打在最新提交的commit上
git tag # 查询所有标签
git tag 标签名# f52c633 给特定的commit打标签
git tag -a 标签名 -m "msg" # commit的id 给标签设置说明
git show 标签名 # 查询标签内容
git tag -d 标签名 # 删除标签
git push origin 标签名 # 推送某个标签到远程
git push origin --tags # 推送所有标签
git push origin :refs/tags/<tagname> # 可以删除一个远程标签
GUI
** 使用 **
1、选择第一项,create New Repository
2、选择管理路径
3、如果Unstaged Changes(未缓存的改动)中包含文件,则先点击Stage Changed,将未缓存的改动加入缓存,再点击Commit;否则需要先点击Rescan扫描项目中进行过改动的文件。填写提交描述,然后提交
4、通过Repository->Visualize All Branches History查看提交的历史记录
报错: Unable to obtain your identity(没有设定全局身份验证)
cmd填写:
git config --global user.email “邮箱”
git config --global user.name “昵称”
Centos配置SSH
#安装
rpm -qa | grep ssh #查看是否安装SSH
yum install ssh #若没有则安装SSH
yum install openssh* #若存在则安装缺失包
systemctl enable sshd #注册使用服务,开机启动
service sshd start 或者systemctl start sshd#启动SSH
chkconfig sshd on #设置开机运行
vim /etc/ssh/sshd_config #配置SSH man ssh_config查看配置
:'
将#Protocol 2,1改为 Protocol 2 只允许SSH2连接
将#ServerKeyBits 768改为ServerKeyBits 1024
将#PermitRootLogin yes改为PermitRootLogin no 不允许root登录
将#PasswordAuthentication yes改为PasswordAuthentication no不允许密码登录
将#PermitEmptyPasswords no 改为PermitEmptyPasswords no不允许空密码登录
'
vi /etc/hosts.deny #修改屏蔽规则
sshd: ALL #添加至结尾,屏蔽所有SSH连接请求
vi /etc/hosts.allow # 修改允许规则
sshd: 192.168.0.0 #添加至结尾,限制访问的IP
#或者添加sshd: 192.168.0. 只允许来自内网的SSH连接请求
netstat -tunlp #查看正在运行的端口号A
vim /etc/ssh/sshd_config
Port A #修改自己端口
/etc/init.d/sshd restart #重启
#配置
1.配置IP
#setup
选择 NetWork configuration
选择 Device configuration
选择 eth0
Use DHCP [*] 改 为 [ ] 用空格键将*去除
Static IP 输入 本机IP
Netmask 输入 255.255.255.0
Default gateway IP 输入 本机网段(192.168.X.1)
Primary DNS Server 输入 本机网段(192.168.X.1)
2.改SSH端口
vim /etc/ssh/sshd_config
#Port 22
去#注释 改 22 为 2200(2000以上)
3.重启SSH
/etc/init.d/sshd restart
4.重启网络
service network restart
/etc/init.d/network restart
5.查看端口
netstat -lnp|more
6.关防火墙
/etc/init.d/iptables stop
启动SSH
/etc/init.d/sshd start
#连接PUTTY
输入连接IP:Session->Host\Saved
配置相关参数
utf-8支持中文显示:Window->Translation->Remote character set
自动输入登录用户root:Connection->Data->
输入用户名后就可以连接到服务器
#被管理机产生密钥
mkdir /root/.ssh
ssh-keygen -t rsa
:'
Enter file in which to save the key (/root/.ssh/id_rsa): ##直接回车默认路径
Enter passphrase (empty for no passphrase): ##输入密码短语
Enter same passphrase again: ##重复密码短语
Your identification has been saved in /root/.ssh/id_rsa. ##如果在这里报错是因为SeLinux引起的按照Policy:yum install selinux-policy
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
aa:76:71:1e:51:fe:3b:4c:51:30:b2:90:55:e9:58:7c root@localhost.localdomain
The key s randomart image is:
+--[ RSA 2048]----+
| .ooo+o |
| ...o+.E |
| o.+ o |
| . o o |
| S. . . |
| ..o o |
| .+ . o . |
| ... . + |
| ... . |
+-----------------+
'
# putty生产密钥
# 打开puttygen
# 点击Generate按钮后在红框中不断移动鼠标直至密钥生成完成
:'大红框就是我们生成的公钥、这个公钥用于放在被管理服务器上,而私钥放在自己的机器上。
Key comment是一个备注信息,如果是企业环境那么会有很多的公钥在一台机器上,为了识别的话一般都会根据每个人的自己定义一个备注。
可以使用邮箱或者工号,输入Key comment先复制下公钥,并点击Saved public Key 和 Saved Private Key保存两个密钥
接着打开密钥代理工具pageant.exe(同样可以在putty的官网下载),使用pageant.exe有一个很大的好处,如果你还需要使用putty的其他工具那么他们可以共享密钥验证,而不需要反复去设置密钥。
任务栏的pageant.exe图标右键选择view keys打开下面窗口。
点击Add key添加刚才保存的私钥。'
# 被管理机密钥部署
# 将被管理机上刚才生产的id_rsa.pub复制成authrized.keys
[root@localhost .ssh]# cp id_rsa.pub authrized.keys[root@localhost .ssh]# chmod 600 authrized.keys ##这一步是必须的,否则连接不上
vi /root/.ssh/authrized.keys #删除原来的密钥,添加puttygen.exe生产的密钥 # 也就是前面复制的公钥
sh-rsa AAAAB3NzaC1yc2EAAAABJQAAAIEAh+gDpVSNIwBHZvmHS240AoueNHIgDHhczQ/fhiN/IdAQVdh7Ovw2pnJ4sd6so0kqCizsU7FOu2rvaK7vHC3QrrYmeqn94V595pYGLnMCbtEd7ONew47TU8wjtdldbc7liEmkTVIdkCbbrzQa372/u2LSjkldu2BUiXkevlnGNUc= hellwen.wu~~~~
# 保存退出
# centos 7安装gitlab
# 安装gitlab所依赖的软件包
yum -y install policycoreutils-python openssh-server openssh-clients postfix
# 启动postfix并设置开机自启动(用于gitlab发送邮件)
[root@gitlab ~]# systemctl start postfix
[root@gitlab ~]# systemctl enable postfix
# 安装gitlab软件包
[root@gitlab ~]# rpm -ivh gitlab-ce-10.0.0-ce.0.el7.x86_64.rpm
# 修改配置文件中gitlab的访问地址(可以设置为域名方式访问,端口修改为未在用的端口即可)
[root@gitlab ~]# vim /etc/gitlab/gitlab.rb
set nu :lin13 external_url 'http://192.168.0.126:888'
#重新读取配置文件配置并重启gitlab
[root@gitlab ~]# gitlab-ctl reconfigure
[root@gitlab ~]# gitlab-ctl restart
#在linux客户端创建一个ssh key
[root@imzcy ~]# ls -al ~/.ssh/
[root@imzcy ~]# ssh-keygen -t rsa -C "zhangsan@imzcy.cn"
[root@imzcy ~]# cat ~/.ssh/id_rsa.pub
#连接SSH
#点击SSH Keys,复制建好的id_rsa.pub公钥文件内容到文本框,然后点击Add key
#下载项目到本地
#先创建一个本地文件夹,用来存放项目
[root@1 ~]# mkdir project
[root@1 ~]# cd project/
[root@1 project]# git clone git@192.168.31.126:test.git
#这时候我们看到刚才gitlab上创建的测试项目已经拉取下来了
[root@1 project]# ls
test
[root@1 project]# cd test
[root@1 test]# ls
20220804-test.txt
# 上传一个文件到gitlab
Settings-->Repository
Protected Branches-->Expand-->Unprotect解除保护
# 上传:git push
# 项目文件夹下依次执行
# 修改用户名和邮箱:
git config --global user.name "XXX"
git config --global user.email "XXX@XXX"
git init
git remote add origin "地址" # 工程路径
git add .
git commit -m "Initial commit"
git push -u "origin" master
报错
error:没有可用软件包
sudo yum install epel-release #安装epel源
yum update #更新
error:Could not resolve hostname code.info2soft.com
修改host文件来访问GitHub
修改host文件
(Windows系统)
C:\Windows\System32\drivers\etc
(linux系统)
/etc/hosts
1、ping github.com获取ip
2、
172.20.64.13 code.info2soft.com
172.20.64.13 svn.info2soft.com
172.20.64.13 bugs.info2soft.com
172.20.64.13 testlink.info2soft.com
172.20.64.13 apiref.info2soft.com
172.20.64.13 rap2api.info2soft.com
172.20.64.13 intranet.info2soft.com
172.20.64.13 lic4.info2soft.com
3、Windows还需要刷新DNSipconfig /flushdns