客户端使用git上传代码

avatar 2020年3月31日18:09:45 评论 1,325 次浏览

前面已经说完了gitlab的搭建,和页面的基本使用,相信您一定会熟悉前面的知识点了,那么本章就说说如何把代码上传到gitlab了,gitlab的备份操作等。虽然gitlab基本都是在开发使用,但是做为一个运维如果只是会搭建而不会使用,这个确实说不过去。虽然别人能够做到基本的搭建而不会使用,但是我确实做不到,因为搭建不难,难的是操作,知道了开发使用的东西才能了解他们最需要什么,才能在以后的工作中针对他们的需求更好的解决问题,提示开发效率。

生成密钥

先在自己电脑上生成秘钥,需要使用自己的登录邮箱

[root@www.wulaoer.org ~]#  ssh-keygen -t rsa -C “wolf27w@gmail.com” 
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): 
Created directory '/root/.ssh'.
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:ehMDtuvXssqlnMWe7Ydv1M9aUtLYDSbmLhyf9NXmscE “wolf27w@gmail.com”
The key's randomart image is:
+---[RSA 2048]----+
|                 |
|                 |
|      o     o o  |
|     . o   o o.=o|
|      . S . o.oEO|
|       + + =.o.*+|
|      o *.oo+ o+o|
|     + Bo+o.o  oo|
|      Bo++o+. .. |
+----[SHA256]-----+
[root@www.wulaoer.org ~]# cd ~/.ssh/ 
[root@www.wulaoer.org .ssh]# ls 
id_rsa id_rsa.pub 
[root@www.wulaoer.org .ssh]# cat id_rsa.pub > authorized_keys

然后,把authorized_keys内容拷贝到gitlab的ssh秘钥中, 下面是针对gitlab的基本操作:推送

git clone <repo> <directory>       #如果不加<directory>会直接克隆到当前目录,如果加就会克隆到指定目录

举例:

git clone git@github.com:fsliurujie/test.git         --SSH协议
git clone git://github.com/fsliurujie/test.git          --GIT协议
git clone https://github.com/fsliurujie/test.git      --HTTPS协议
git clone git://github.com/schacon/grit.git mygrit     mygrit目录

git init     #初始化仓库,会创建一个名为.git的子目录

git add 推送的文件        #对指定文件进行跟踪

git commit -m "对于推送的文件的描述"      #提交文件进行注释

git push -u origin master #推送到主分支上,如果本地分支和远程分支一样可以直接git push

git status 查看本地状态

git diff

推送分支

git push origin HEAD:develop

分支管理

创建分支

git branch <branchname>        #创建分支,加分支名称,创建的是本地分支
git branch        #查看本地分支
git branch -r      #查看远程分支
git branch -a      #查看所有分支
git branch -m masger develop      #重命名本地分支,原分支名称 修改后的分支名称

切换分支

git checkout <branchname>     #切换到目标分支
git checkout -b <branchname>    #创建本地分支并切换
git checkout --orphan join    #创建空分支join
git checkout -b wolf master
git branch –set-upstream 本地新建分支名 origin/远程分支名

创建本地分支,并关联远程分支

合并分支

git merge            #可以多次合并到统一分支, 也可以选择在合并之后直接删除被并入的分支

把分支合并到master分支,需要先切换到master分支

git checkout master     #切换到master分支
git merge wolf     #wolf分支合并到master分支中

删除本地分支

git branch -D wolf
git pull --rebase origin master #下载最新分支

修改文件注释

在没有修改之前需先拉取最新的分支

git pull --rebase origin master

首先,使用git rebase -i HEAD~2,显示最近两次修改的注释,然后修改注释,把pick换成edit就是修改本行的注释,然后保存退出

接下来使用git commit --amend 使用vim命令修改注释内容,然后保存退出

继续,git rebase --continue 保存已经修改的注释并保存退出

最后把修改的分支保存强制push到远程仓库

git push --force origin master

远程分支

创建

git push origin wolf:wolf       #把本地的分支推送到远程分支上,就创建了远程分支,本地分支:远程分支

这里注意本地分支和远程分支可以一样,也可以不一样

删除远程分支

第一种是在本地创建一个空分支推送到远程分支上,覆盖上去

git push origin wolf:wolf

第二种

[root@www.wulaoer.org .ssh] git branch -a
  master
* wolf
  remotes/origin/master
  remotes/origin/wolf
  remotes/origin/wolf——1
[root@www.wulaoer.org .ssh] git push origin --delete wolf——1       #直接删除远程分支
To github.com:wolf27w/shell.git
 - [deleted]         wolf——1
[root@server07 .ssh] git branch -a
  master
* wolf
  remotes/origin/master
  remotes/origin/wolf
[root@www.wulaoer.org .ssh] git push origin --delete wolf——1

批量推送

git add .      #添加修改的代码到缓存
git push origin wolf    #提交到远程分支
git push        #提交到远程仓库

git日志查看

git log

撤销上次commit的内容

新建的一个项目

echo "# Beego" >> README.md
git init
git add README.md
git commit -m "first commit"
git remote add origin git@github.com:wolf27w/Beego.git
git push -u origin master
avatar

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: