git的使用

git的基本使用

1.先创建本地仓库 git init

2.再把远程仓库clone到本地

步骤:

1、编写代码后,git add niu.py。# 使用git add 添加到暂存区

2、git commit -m “将niu.py添加到本地仓库” # git commit将暂存区的文件添加到本地仓库

3、git push 将本地仓库的文件,推送到远程仓库

git push -u 分支名称

4.注:git push 后要跟所在的分支

git status 查看当前仓库的状态信息

git init 初始化仓库,初始化完成以后文件夹就会生成一个.git的隐藏文件,这个.git所在的文件夹,就是本地仓库,它会记录你所有的变更记录

  • 将单个文件添加到暂存区

    • git add [filename,比如1.txt or main.py]

    • 加入暂存区以后,这个文件名称的颜色就会变绿,注没执行git add 之前这个文件名称的颜色是红色的

  • 将所有变更的文件全部一次加入到暂存区

    • git add . 添加所有

  • 将提交到暂存区的文件提交

    • git commit -m<message>

      • git commit -m "main.py改变编码为utf-8"

      • 再提交之后就可以看到日志显示 x files changed

      • 0 insertios(+) 表示0个也就是没有代码增加

      • 0deletions(-) 表示0个也就是没有代码减少

  • commit 提交以后,可以通过git log 可以看到什么人在什么时间提交了一个什么样的commit(也就是commit -m 跟的message),每一个commit会生成一个hash值,这个值是唯一的,也可以说是本次提交的版本号

  • 小的总结

    • 当你变更了文件的时候,用git status 查看时,被修改的文件名称会变红,这个时候通过git add 添加到暂存区以后就会变绿,再使用git commit 提交到仓库

    • 如果你修改了两个文件但是只把其中一个添加到暂存区,那git commit 只会暂存区的这个到仓库,另外一个还是红色名称

  • 如果git add 一个文件到暂存区之后,但是此时发现提交错误了,注意此时并没有执行git commit的操作

    • git reset <filename>,也就是把暂存区的文件给踢出去了,此时文件名称就会变成红色的

    • 回退版本

      • git log 先找到版本号

      • git reset 版本号(要回退的版本号)--hard,不带参数默认是--mixed

        • --hard 参数加与不加的区别

        • --hard:不保存所有变更

        • --soft:保留变更,且变更出于staged

        • --mixed:保留变更且变更内容处于modified

        • 此时我们在使用git log 就会发现,比如你第6次提交了,想回到第5次提交的,此时第6次提交的就会消失拉

          • 第6次的提交记录消失了,也就是对应的版本号找不到了,那又想回到第6次提交的版本怎么办?

            • 此时就使用 git reflog查看所有的操作记录,找到第6次的版本号,再次使用 git reset 版本号 就可以回到第6次的版本

          • 小知识git log 和 git reflog显示的版本号hash值不一样,其实是一样的,git reflog显示的前七位版本号hash值

            • 其实此时想回到最新的版本,直接使用git pull 也是一样的

文件的4种状态

Untracked:未跟踪的,也就是我们新修改了文件,或者修改py文件里面的代码以后,也就是红色的

Unmodified:git commit 之后就是这个状态

Modified:比如1.txt我之前已经git commit 了,然后再次修改的话就是这个状态

Staged:当我们使用git add 之后,变成绿色的拉,也就是Staged

git pull 和 git fetch的区别

# 1.两者都是从远程仓库拉取代码
# 2.git fetch 和 git merge 来手动解决冲突
​

git工作流程

分为本地仓库和远程仓库

# Clone:将远程仓库复制到本地
# Push:将本地仓库代码上传到远程仓库
# Pull:将远程仓库代码下载到本地仓库
​
workspace:工作区,就好比是在pycharm上编写,修改代码
# 1.从远程仓库中clone代码到本地仓库
# 2.从本地仓库中checkout代码然后进行修改
# 3.在提交前先将代码提交到暂存区
# 4.提交到本地仓库,本地仓库中保存修改的各个历史版本
# 5.修改完成后,需要和团队成员共享代码时,将代码push到远程仓库
​
#               工作中使用
git add "要提交的代码py文件"
git commit -m "修改了什么,提交到本地仓库的备注信息"
git push -u "分支名称" # 推送到远程仓库

git设置用户名、密码

git config --global user.name "xiaofeiniu"
​
git config --global user.email "ddd@qq.com"

 

分支branch

git checkout -b <name><template>

  • 参数解释

    • name:新分支的名字

    • template:以哪个分支或者commit为模板,如果这个参数不填,则默认是当前分支为模板

  • git branch 列出所有分支

    • 高亮显示的且前面带*号的是我们当前所处在的分支

  • git checkout master 切换到主分支

总结

git init 初始化git生成git仓库
git status 查看git状态
git add <filename>添文件到暂存区
git add .加入所有文件到暂存区
git commit -m 'message'提交文件到本地仓库
git reset <filename>将尚没有commite之前加入到暂存区的文件重新拉回
文件状态:
1.没有被add过的文件叫untracked
2.add之后文件处于staged状态等待commite
3.commit之后文件处于unmodified这里之所以是modified是因为文件会跟仓库中的文件对比
4.当unmodified的文件被修改则会变为modified状态
5.modified之后的文件add之后将继续变为staged状态
6.unmodifed的文件还有一种可能是已经不再需要了,那么可以remove它不再追踪变为untracked状态
​
git checkout \<newbranchname> \<refbranch>以参考分支为模板创建新分支
git checkout \<branchname>切换到指定分支

 

pycharm 操作git

# 1.Path to Git executable:为git的安装路径
​
# 2.这个url就是在gitLab上clone的url(即:远程仓库的url:端口)如:192.168.15.123:8080...
# 3.这个Diectory 就是本地仓库(本地init的),然后把代码的项目目录,直接复制到这个本地仓库,然后再pycharm里面open打开这个项目

gitlab容器搭建

# 由于是docker镜像运行,所以我们需要把gitLab的配置,数据,日志存到容器外面,即将其挂载到宿主机
# 在srv目录下新建gitLab文件夹,然后在此文件夹下分别常见 configs,logs,data文件夹
# 依次创建三个目录
cd /srv
mkdir gitLab
cd gitLab
mkdir congfigs logs data
​
# 启动docker安装gitLab
docker run -id -p 443:443 -p 9000:80 -p 8022:22 --hostname 虚拟机的IP --name mygitLab --restart always -v 
/srv/gitLab/configs:/etc/gitLab -v
/srv/gitLab/logs:/var/log/gitLab -v
/srv/gitLab/data:/var/opt/gitLab -v
/etc/localtime:/etc/localtime:ro --privileged=true
gitlab/gitlab-ce:13.9.2-ce.0

 

gitLab 和 jenkins 结合

# jenkins 与gitlab双向认证
# 1.在jenkins的配置需要认证gitlab权限,为了拉取最新的代码
# 2.在gitlab的配置需要认证jenkins权限,为了除非自动化构建操作
# 3.要关注下时区是否正确
 

 

posted @ 2022-03-25 11:04  无敌大牛牛  阅读(62)  评论(0编辑  收藏  举报