git的命令行操作

image-20220118154209722

命令如下:

    1. clone(克隆): 从远程仓库中克隆代码到本地仓库
    1. checkout (检出):从本地仓库中检出一个仓库分支然后进行修订(切换分支)
    1. add(添加): 在提交前先将代码提交到暂存区
    1. commit(提交):暂存区提交到本地仓库。本地仓库中保存修改的各个历史版本
    1. fetch (抓取) : 从远程库,抓取到本地仓库,不进行任何的合并动作,一般操作比较少。
    1. pull (拉取) : 从远程库拉到本地库,自动进行合并(merge),然后放到到工作区,相当于 fetch+merge
    1. push(推送) : 修改完成后,需要和团队成员共享代码时,将代码推送到远程仓库

Git常用命令

image-20220118120937189

1. 基本使用:

初始化仓库:git init

修改或创建文件上传至暂存区:git add .

暂存区上传至本地仓库:git commit -m '提交记录'

查看文件状态:git status

查看提交日志:git-log

  • 创建.bashrc文件,放至当前用户目录下即可使用命令别名
#用于输出git提交日志 
alias git-log='git log --pretty=oneline --all --graph --abbrev-commit'
#用于输出当前目录所有文件及基本信息 
alias ll='ls -al'
  • 解决乱码问题
git config --global core.quotepath false

忽略提交文件:创建.gitignore

写入*.a则表明以.a结尾的文件不做提交

  以斜杠“/”开头表示目录;

  以星号“*”通配多个字符;

  以问号“?”通配单个字符

  以方括号“[]”包含单个字符的匹配列表;

  以叹号“!”表示不忽略(跟踪)匹配到的文件或目录;

版本回退:git reset --hard commitID

  • commitID使用git-log查询,如果需回到回退前的版本则使用git reflog,这个指令可以看到已经删除的提交记录

2. 分支使用

创建本地分支:git branch 分支名称

查看本地分支:git branch

切换本地分支:git checkout 分支名称

创建并切换本地分支:git checkout -b 分支名称

合并分支(在目标分支上进行合并):git merge 分支名称 一般合并至master

删除分支(需要检查):git branch -d 分支名称

强制删除(当新分支修改后没有合并至master则会被认为是误操作):git branch -D 分支名称

解决冲突:合并时两个分支有相同文件,均已更改,需手动解决冲突。


  • master (生产) 分支

    • 线上分支,主分支,中小规模项目作为线上运行的应用对应的分支;
  • develop(开发)分支

    • 是从master创建的分支,一般作为开发部门的主要开发分支,如果没有其他并行开发不同期上线要求,都可以在此版本进行开发,阶段开发完成后,需要是合并到master分支,准备上线。
  • feature/xxxx分支

    • 从develop创建的分支,一般是同期并行开发,但不同期上线时创建的分支,分支上的研发任务完成后合并到develop分支。
  • hotfix/xxxx分支

    • 从master派生的分支,一般作为线上bug修复使用,修复完成后需要合并到master、test、 develop分支。
  • 还有一些其他分支,在此不再详述,例如test分支(用于代码测试)、pre分支(预上线分支)等 等。

image-20220118141930665

3. 码云的使用

基本使用
  • 生成SSH公钥
    • ssh-keygen -t rsa
    • cat ~/.ssh/id_rsa.pub 查看密钥
    • 在码云中生成公钥
    • 验证ssh -T git@gitee.com是否配置成功

出现:

$ ssh -T git@gitee.com
Hi 一世安呀! You've successfully authenticated, but GITEE.COM does not provide shell access.

则配置成功!

  • 将本地仓库推至远程仓库
    • 远程仓库的ssh地址:------------------
    • 本地仓库对应的远程仓库:git remote add 远程仓库名称(一般为origin) 远程仓库的ssh地址
    • 查看远程仓库:git remote
    • push:git push 远程仓库名称 master ,将本地master推送至远程仓库

推送命令:

git push [-f] [--set-upstream] [远端名称 [本地分支名][:远端分支名] ]

  • 如果远程分支名和本地分支名称相同,则可以只写本地分支

  • git push 远程仓库名称 master

  • -f 表示强制覆盖

  • –set-upstream 推送到远端的同时并且建立起和远端分支的关联关系。(可以不用)

    git push --set-upstream 远程仓库名称 master

  • 如果当前分支已经和远端分支关联,则可以省略分支名和远端名。

    • 使用git branch -vv查看绑定关系

      image-20220118163623585

    • 使用git push --set-upstream origin master:master,下次可以直接使用git push命令

      image-20220118163731297

  • git push 将master分支推送到已关联的远端分支。

克隆使用

git clone ssh地址即可将项目copy到本地

从远程仓库中抓取和拉取
  • 抓取 命令:git fetch [remote name] [branch name]

    • 抓取指令就是将仓库里的更新都抓取到本地,不会进行合并

    • 如果不指定远端名称和分支名,则抓取所有分支。

  • 拉取命令:git pull [remote name] [branch name]

    • 拉取指令就是将远端仓库的修改拉到本地并自动进行合并,等同于fetch+merge
    • 如果不指定远端名称和分支名,则抓取所有并更新当前分支。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值