代码版本管理工具 git

1. 去B站看视频学习,只看前39集:

01-Git概述(Git历史)_哔哩哔哩_bilibili

2.学习Linux系统文本编辑器的使用

vi编辑器操作指令分享 (baidu.com)

(13条消息) nano编辑器的使用_SudekiMing的博客-CSDN博客

windows下载安装
Git官方下载地址:
Git - Downloading Package
安装图解:
https://www.cnblogs.com/ximiaomiao/p/7140456.html
linux下载安装
sudo apt install git
windowsgit命令与Linux一致

git 的命令

git init    初始化仓库

git clone  https://        克隆仓库

git status   查看仓库状态

git add <file/name>            添加文件到暂存区

git commit -m "文件信息"   提交更改的文件到仓库

git rm <file_name>  删除文件,然后提交,版本仓库的也删除了

git config --list  查看用户名和邮箱 

git checkout -b <分支名>   #创建新的分支
git branch                #查看分支
git rm -r --cached <文件名>  # 删除远程文件或者文件夹子
git push origin --delete <分支名> #删除远程分支
git branch -d <分支名>     # 删除本地分支
git remote -v               #显示远程仓库
git merge <分支名>         # 合并分支
git pull                  # 拉取, 一般两个人同时对一个分支进行修改后,如果别人先提交的,则需要拉取下来在本地解决冲突后合并
git rebase                #变基  
git log                   #查看历史提交
git checkout <commit 序列> #回退到历史版本  
git reflog                # 记录每一次的命令
git branch <新分支名> <序列号>  #如果回退到历史版本后更改代码了,想再次提交,则可切换到最新版本, 然后用该命令行创建新的分支

仓库

查看文件的状态 git status 

把文件添加到暂存区   git add <file_name>    取消添加      git reset <file_name>

提交到本地仓库      git commit  -m ""

修改的文件想要提交到仓库,必须先要添加到暂存区

git commit -a -m ""  添加到暂存区并提交到仓库

文件加入到忽略列表,不需要版本管理。创建.gitignore文件,列出要忽略的文件后缀  命令: touch .gitignore

查看远程仓库     git remote

新建的本地仓库需要关联远程仓库,才能Push ,可以关联多个远程仓库

关联远程仓库    git remote add origin < https://> 

克隆仓库会把历史版本和日志信息一起复制下来

git remote rm  从本地移除远程仓库的记录

fetch抓取   pull拉取    merge合并

git fetch  origin master从远程仓库获取最新版本到本地仓库,不会自动merge ,需要手动合并到工作区,git merge  origin  master

git pull origin master  从远程仓库获取最新版本并merge到本地仓库,

如果本地仓库不是克隆来的,并且存在文件,会报错,需要加参数: git pull origin master --allow-unrelated-histories

git push origin master 将本地仓库推送到远程仓库

分支

查看分支

列出所有分支  git branch -a

列出所有本地分支  git branch 

列出所有远程分支  git branch -r

创建分支 

git branch <name>

以当前分支为基础创建的,所以一般在主分支创建新分支

切换分支 git checkout <name>

推送新分支到远程仓库 git push origin <name>

合并分支

进入主分支执行git merge <name>

两分支合并,对于同一个文件不同的修改,会报错,需要自己去修改文件, 然后 git add <修改的文件名>, 说明已解决冲突 ,然后提交到本地仓库,最后推送分支到远程仓库

在合并改动之前,可以使用如下命令预览两个分支的差异:

git diff <source_branch> <target_branch>

删除本地分支

git branch -d <name>      ,   强制删除: git branch -D <name>  ,不建议

删除远程仓库分支  git push origin -d <name>

标签

标签常用做版本名 标识

git tag <name> 创建标签

git tag 列出所有标签

git show <name> 查看标签信息

git push origin <name>  推送标签到远程仓库

git tag -d [tag] 删除本地标签

git push origin :refs/tags/[tag]

检出标签 :新建一个分支,指向某个tag, 这个分支就以那个版本为基础,

命令: git checkout -b [branch] [tag] 

在ubuntu 代码版本管理流程

 第一步:

安装git命令

sudo apt-get install git

指定用户名和邮箱 

如果是私人电脑,用你名字的拼音作为user.name ,你的邮箱作为user.email

如果是公用小电脑,用feihu作为user.name ,用123456@jqr 作为user.email

$ git config --global user.name "Your Name"
$ git config --global user.email "[email protected]"

然后到代码工作区里执行命令 git init 初始化本地仓库,如果有了.git就不用执行

(如果看不到.git,按Ctrl + H 显示隐藏的文件 )

git remote 查看远程仓库,没有origin的话就添加远程仓库:  git remote add origin <https://gitee.com/用户名/仓库名/树/分支>  进行关联

第二步:

 在开发过程中,同分支上如果别人对远程仓库的代码进行了修改。我们就可以使用git pull拉取远程代码,就可以将别人最新修改的代码同步到我们的本地工作区。

git pull origin master  --allow-unrelated-histories  拉取master分支的最新版本到本地

写代码,修改代码

git add .    把所有的文件添加到暂存区

git commit -m "信息"  

信息的写法:对哪个文件进行了操作,需要注意什么

或者一个命令完成:  git commit -a -m "信息"      添加到暂存区并提交到仓库

git push origin master 将本地仓库推送到远程仓库

输入你的git邮箱和密码

如果嫌每次输入git账号和密码麻烦,设置保存密码。如,将账号密码保存 30 分钟

git config --global credential.helper 'cache --timeout=1800'

注意问题

 假如你新建了一个远程仓库,里面只有README.md文件,这时你在本地仓库想推送代码到远程仓库,就会报上面的错,因为远程仓库含有本地仓库不存在的文件,推送的话可能会覆盖掉远程仓库的文件。解决方法:

1.先同步git/github上的文件到本地,在本地更改将内容进行合并后再上传,依次执行下面命令:

git pull origin master  --allow-unrelated-histories  拉取文件并合并到本地

如果本地仓库不是克隆来的,并且存在文件,会报错,需要加参数: git pull origin master --allow-unrelated-histories
git push origin master  推送

2.强行推送(不建议)

 git push -u origin +master

强行上传会覆盖掉远程仓库的文件,不到万不得已不用

如果远程仓库的代码被别人修改过而你在修改本地代码前没有pull拉取最新的,会导致代码版本不一样,这时候会提交失败,可以 git push --force origin 分支名,这样会本地代码强制覆盖远程仓库代码(会覆盖掉别人的修改),所以每次更改代码前最好pull一下。如果远程没有这个分支,会在远程仓库新建一个。不建议强行覆盖,如果要强行覆盖,先问问你团队的人。

回溯操作:如果你pull代码后发现你的代码被其他人误操作了,可以git reset --hard HEAD^,使本地仓库当前分支回退到上一次提交的状态,回退前记得切换到相应分支。而HEAD^^表示上上次的状态,HEAD~100表示上100次的状态。也可以把HEAD换成上一步中log里的commit的序列号。

如果代码有大改,记得推送一个版本标签,方便维护版本

git tag <name> 创建标签 v1.0

git push origin <name>  推送标签到远程仓库

调试:

未完待续...

下载开源代码注意:

先查看有多少分支

git clone https://...  只会克隆 默认分支

 克隆所有分支,用下面命令

git clone --mirror   https://...

或者: 

git pull --all  https://...

github加速:

github在国内访问是非常慢的,有时候克隆个项目都失败,git clone加速方法

1. 在执行git clone之前,执行命令:

git config --global url."https://ghproxy.com/".insteadOf https://


向git全局环境增加一个替换设置,它会自动给github的链接前面增加ghproxy.com的加速链接,从而实现快速克隆项目的目标。
第二种方式配置文件法(推荐)
在 ~/.git /config 中增加如下配置即可加速,git对Github的访问

……前面的七七八八内容不用管
 
[url "https://ghproxy.com/https://github.com/"]
    insteadOf = https://github.com/

(13条消息) 【git】大文件git clone不下来问题_git大文件拉不下来_xll_bit的博客-CSDN博客

Git简介 - 廖雪峰的官方网站 (liaoxuefeng.com)

猜你喜欢

转载自blog.csdn.net/qq_64079631/article/details/131949076