Git简单理解及基础操作

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/weixin_40022980/article/details/83017969
参考 : git flow工作流

1、摘要

本文章对Git做深入的讲解,只引导怎样基础的使用Git完成基础的的操作。
Git版本控制器能做哪些事情:
首先这里再明确一下,所有的版本控制系统,其实只能跟踪文本文件的改动,比如TXT文件,网页,所有的程序代码等等,Git也不例外。版本控制系统可以告诉你每次的改动,比如在第5行加了一个单词“Linux”,在第8行删了一个单词“Windows”。而图片、视频这些二进制文件,虽然也能由版本控制系统管理,但没法跟踪文件的变化,只能把二进制文件每次改动串起来,也就是只知道图片从100KB改成了120KB,但到底改了啥,版本控制系统不知道,也没法知道。

不幸的是,Microsoft的Word、Excel格式是二进制格式,因此,版本控制系统是没法跟踪文件的改动的,如果要真正使用版本控制系统,就要以纯文本方式编写文件。

2、 Git秘钥对配置

git 生成ssh 密钥
可以使用Git Gui中的help=》show ssh key中复制,把秘钥放到代码托管平台中的就可以用啦

3、Git基础操作

如果本地没有项目,需要从远端代码仓库直接clone

3.1 git日常操作

git clone 远端代码仓库的地址
相关知识:
1、克隆某分支代码 : git clone -b 分支名 地址

1、在要操作Git的文件目录下,通过Git Bash Here进入命令行进行命令行操作。
2、先查看是否是所在的分支,不在的话需要切换到自己的分支,没有的话需要检出分支。

##分支检出
git checkout -b 分支名 origin/分支名

git本地检出远程分支

备注:检出,说白了就是修改HEAD指向。如果不指定commitId(也可以是分支名或tag,因为它们本质上都是指向commit),则默认会从暂存区检出指定的文件,如果暂存区为空,则该文件会回滚到最近一次的提交状态。

3、查看Git相关的状态(相当强大的命令可以经常使用查看当前的状态)

git status 

4、把文件添加到索引库中,也可理解为存放到缓存区(.是指当前文件夹下的所有文件)

git add .

5、将暂存区里的改动提交到本地的版本库

 git commit -m "这里是注释"

6、切换到主分支

 git checkout master

7、拉取远端代码仓库中的代码,origin设置

git pull origin //origin是指远端代码仓库的git地址
相关知识:
    1、拉取某分支代码 :git pull origin <远程分支名> //将远程指定分支 拉取到 本地当前分支上

8、把暂存区的代码与主分支的代码进行合并

git merge 要合并的分支名称

9、处理完合并后的代码之后,就可以把本地的代码上传到远端代码仓库啦

 git push origin master

10、这里为了防止其它小伙伴此时也在提交代码,解决方案是:把远端代码仓库中的代码更新到自己的分支当中。具体操作如下:

git checkout tom //tom是自己分支的名称
git pull origin

git开发的注意事项:切记不要在master主分支上进行开发

3.2 git 版本回退

git reset --hard 目标版本号

注意: 可任意切换各版本之间的代码,但是不能强制提交,提交之后,哪个版本之后提交的版本就没了
适用场景: 如果想恢复到之前某个提交的版本,且那个版本之后提交的版本我们都不要了,就可以用这种方法。
参考:Git恢复之前版本的两种方法reset、revert(图文详解)

3.3 git 拉取远程分支到本地

参考:git 拉取远程分支到本地

# 1、新建一个空文件,文件名为hhhh
# 2、初始化
    git init
# 3、自己要与origin master建立连接(git@github.com:XXXX/nothing2.git为远程仓库链接)
	git remote add origin git@github.com:XXXX/nothing2.git
# 4、把远程分支拉到本地
	git fetch origin dev(dev为远程仓库的分支名)
# 5、在本地创建分支dev并切换到该分支
	git checkout -b dev(本地分支名称) origin/dev(远程分支名称)
# 6、把某个分支上的内容都拉取到本地
	git pull origin dev(远程分支名称)

4、Linux 编译安装git

cd git-2.11.0/
make configure
./configure --prefix=/home/pubsrv/git --with-iconv=/usr/local/libiconv
make
make install
git --version

5、免密配置

在这里插入图片描述

[user]
    name = ******
    email = ******
[credential]
    helper = store
[branch "invite"]
	remote = origin
	merge = refs/heads/invite

6、Git常用的其它命令

git --version //查看git的版本
git config --list //查看git的配置信息

git branch  // 查看分支
git branch <name> // 创建分支
git branch -a // 查看远程分支
git branch -d <name> // 删除分支

git checkout -b <name> // 创建+切换分支
git remote -v	// 显示所有远程仓库名称和地址

git push origin <本地分支名>:<远程分支名>  // 将本地当前分支 推送到 远程指定分支上(注意:pull是远程在前本地在后,push相反)
git pull origin <远程分支名>:<本地分支名>  // 将远程指定分支 拉取到 本地指定分支上
git push origin --delete [branchname]  删除远程分支

// 打Tag
git tag -a v0.1 -m 'Initial public release' master // v0.1是版本号 
git push --tags

// 创建分支推送到远端
git checkout -b release dev // 基于dev分支新建一个release分支
git push // 推送到远程仓库,共享

// 撤销当前修改
git checkout -- 文件路径 #所有文件为 .\


代码合并

<<<<<<<head 是指你本地的分支的,head 到 =======里面的b789是您的commit的内容,=========>>>>68的是您下拉的内容。

Linux配置ssh自动拉取代码:

git config --global user.name "serveronline"
git config --global user.email "zhtfirst@163.com"
git config --global core.autocrlf false
git config --global core.quotepath off
git config --global gui.encoding utf-8
ssh -keygen -t rsa -C "zhtfirst@163.com"
ssh-keygen -t rsa -C "zhtfirst@163.com"
eval `ssh-agent`
ssh-add ~/.ssh/id_rsa
cat ~/.ssh/id_rsa.pub
最后把公钥复制到 github、码云、gitlib配置公钥,安装完成

Linux 下git安装 配置ssh公钥
GitLab配置ssh key

7、常见错误

1)问题:warning: LF will be replaced by CRLF in application.yml. The file will have its origina
原因:原因是存在符号转义问题,windows中的换行符为 CRLF, 而在linux下的换行符为LF,所以在执行add . 时出现提示
解决办法:git config --global core.autocrlf false

其它相关知识:
常用的Git代码仓库有github、gitlab、coding、码云等
Git官网
廖雪峰讲Git
Git使用总结(包含Git Bash和Git GUI的使用)
git操作之pull拉取远程指定分支以及push推送到远程指定分支

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值