git简单操作

Git:分布式版本控制系统

一、git安装(配置用户)
在Windows上使用Git,可以从Git官网直接下载安装程序,然后按默认选项安装即可。

安装完成后,在开始菜单里找到“Git”->“Git Bash”,蹦出一个类似命令行窗口的东西,就说明Git安装成功!

1、安装完成后,还需要最后一步设置,在命令行输入:

$ git config --global user.name “Your Name”
$ git config --global user.email “email@example.com”
注意git config命令的–global参数,用了这个参数,表示你这台机器上所有的Git仓库都会使用这个配置

2、当然也可以对某个仓库指定不同的用户名和Email地址:

找到项目所在目录下的 .git/文件夹,进入.git/文件夹,然后执行如下命令分别设置用户名和邮箱:

git config user.name “username”
git config user.email “email”

二、git连接gitlab远程仓库
本地Git与远端服务器GitLab之间连接方式主要分为:SSH方式和HTTP方式,本文主要配置SSH连接方式,HTTP方式请自行查阅资料。

1、生成SSH 密钥       
生成秘钥:ssh-keygen -t rsa -C “your_email@youremail.com” ,直接Enter就行,然后会提示输入密码(可输可不输)

执行完成之后,在.ssh 目录下就会生成秘钥文件(没有.ssh目录的会自动生成,手动创建的则不会重复生成)

2、gitlab秘钥添加
2.1、登录gitlab(申请的公司gitlab账号)

2.2、添加秘钥

三、clone远程项目代码
1、pycharm方式
1.1、打开pycharm,选择Git(公司用的gitlab,选择git)

1.2、输入clone地址,本地路径及项目名称

1.3、点击clone,稍等片刻,克隆成功

2、git命令行
2.1、在你想要创建本地仓库的目录下打开Git Bash

2.2、git clone ‘远程仓库项目clone地址’

2.3、克隆成功后会在目录中克隆出与远程仓库项目一致的目录和文件

四、项目开发流程
在实际的项目开发过程中不能直接在主分支(一般为master上改),需要创建一个自己的分支,在自己的分支上进行更改,完成之后再合到主分支上进行发布

0、在主分支上拉取远端仓库最新代码
切换到主分支,git pull拉取最新代码

1、在主分支上(默认为master)创建本地自己的分支并切换到分支
git checkout -b 分支名  
<==>等同于
$ git branch 分支名

$ git checkout 分支名

2、开发之前确认当前分支
git branch    #git branch命令会列出所有分支,当前分支前面会标一个*号。

git branch -vv    # 查看本地分支与远端分支关联情况

3、在远程仓库创建与本地自己分支对应的分支并关联上
3.1、推送本地分支到远程并创建关联

git push --set-upstream origin ZQ_20191206

3.2、推送本地分支到远程,后关联分支

git push origin 分支名称    #将本地分支push到远端

新创建的分支没有关联远端分支,本地分支与远端分支关联:

git branch --set-upstream-to=origin/分支名称

4、开始在本地自己分支上进行开发
4.1、开发完成后查看git状态

git status       #查看当前仓库中文件的状态

git status  -s  #查看简写的状态(M - 被修改,A - 被添加,D - 被删除,R - 重命名,?? - 未被跟踪)

git status

“Changes not stagged for commit”        #也就是说文件被修改了,但是还没有在提交(commit)前进行存储(staged)
保存修改并提交
 git add <文件名>        #将修改添加到暂存区
git commit          #将暂存区的内容提交
取消文件修改
git checkout – <文件名>        #将指定文件修改取消
git checkout –  .                      #将本次修改的全部文件内容取消
 “Untracked”        #文件未被git跟踪的状态
保存修改并提交
git add <文件名>                                       #来将该创建的NewCreateFile添加到可以被提交(commit)的内容当中去,并 git commit 提交
git commit -a  来直接进行提交                 #(git commit -a 只对已经被git追踪的文件生效,未被追踪的不起作用)
取消文件
git clean -df                                              #删除当前目录下没有被track过的文件和文件夹
删除文件(此时只是删除了工作区的文件,删除的文件也会展示在“Changes not stagged for commit”下)
确实要从版本库中删除该文件
用命令git rm删掉,并且git commit
另一种情况是删错了,想要恢复版本库中的文件
因为版本库里还有呢,所以可以很轻松地把误删的文件恢复到最新版本
git checkout – 被删除的文件

5、拉取最新代码
在本地本质修改完成提交后,需要拉一下主分支最新代码,使得自己的分支与主分支代码保持同步,拉取主分支代码有可能有冲突,这时就需要解决冲突

git pull origin master(主分支)

5.1、pycharm拉取代码(Git方式:git pull origin 分支名)

5.2、解决冲突
pycharm中再拉取远端分支代码与本地分支有冲突后,会直接弹出一个窗口,列出所有冲突的文件和冲突的地方

可以选择接受远端的更改还是接受本地的更改
也可以打开具体的文件,进行每一个冲突点的对比,解决冲突
5.3、解决冲突后需要重新提交
解决完冲突后,继续使用git status 查看git文件状态,对于以上解决冲突的文件需要重新git add 和 git commit

6、推送代码到远端分支
git push         # 推送代码到远端(与当前本地分支的远端分支)

git push origin 分支名称        # 推送代码到指定的远端分支

推送完成后要去gitlab上确认下本次的更改,再次检查一下代码

7、gitlab提交merge申请
明确检查完代码后,在gitlab上创建merge申请,说明本次更改,并提交,merge申请需要在自己的分支上发起,指定合并到哪个分支

8、合并后发版上线
通知代码审核人去审核代码,审核通过后,视情况是否需要重新发版

目前测试这边,qatools的更改和涉及autotest、quality工程rpc服务更改需要重新发版

发版地址:http://42.159.121.114:8080/job/QATools/

五、版本回退
自己的分支回滚直接用reset
公共分支回滚用revert
错的太远了直接将代码全部删掉,用正确代码替代
1、只在本地进行了提交,还没有提交到远程仓库
1.1、git log 查看提交记录,找到commitid    (加上参数 --pretty=oneline  可以精简记录)

1.2、git reset  – hard commitid                  # 回退到指定commit版本

2、已经提交到了远程仓库想要回退
2.1、将自己本地分支回退

2.2、删除与本地分支对应的远端分支

2.3、重新将本地分支push到远端新分支并建立关联

3、已经合并到了远程公共仓库
git revert                        # 命令意思是撤销某次提交。它会产生一个新的提交,虽然代码回退了,但是版本依然是向前的,所以,当你用revert回退之后,所有人pull之后,他们的代码也自动的回退了

3.1、撤销最近一次提交

git revert HEAD   撤销最近一次提交,再将代码push到远端,覆盖远端分支即可,远端分支就变成上一次提交之前的状态,但是版本依旧是向前的,其他人再拉远端代码时,也不会报版本提前

3.2、撤销多次提交

如果使用 revert 撤销的不是最近一次提交,那么一定会有代码冲突,需要你合并代码,合并代码只需要把当前的代码全部去掉,保留之前版本的代码就可以了

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值