-----------------------------------
Git学习笔记
-----------------------------------
1,使用git有三个概念必须理解:工作区、暂存区、版本库
工作区:就是我们电脑上看到的目录
版本库:工作区有一个隐藏的目录.git,这个就是git的版本库,版本库中有很多东西,包括stage(暂存区),还有git为我们创建的第一个分支master以及指向master的指针HEAD
git add :将工作区的代码添加到暂存区
git commit:将暂存区的代码提交到版本库
git rm:从版本库删除文件
2,历史记录:如果要想查看提交过的历史记录可以使用下面两个命令
git log:查看提交历史【git log --pretty=oneline:可以将提交信息一行展示】
git reflog:查看命令历史(可以回到未来)
git log --graph:可以看到分支合并图
3,版本回退:要想把内容还原到提交的某个历史记录,可以使用下面命令【HEAD:当前版本,HEAD^:上一个版本...以此类推】
git reset --hard HEAD:可以回到当前版本库的未修改状态(丢掉工作区和暂存区的修改)
git reset --hard commit_id:可以回到指定版本库的未修改状态(丢掉工作区和暂存区的修改)
4,撤销修改
git checkout -- filename:
1),如果已经添加到暂存区,又做了修改,撤销修改就回到添加暂存区的状态。
2),如果没有添加到暂存区,撤销修改就回到和版本库一样的状态。
4,创建分支:在实际项目开发中我们经常在创建的分支上开发,开发完成之后再合并到主分支上,
这样做既不影响其它同事的开发又能保证自己的代码安全。
git branch dev:创建分支dev
git checkout dev:切换到dev分支
上面两条命令合并成一条就是:git checkout -b dev
git branch -d dev:删除分支dev
git push origin --delete dev:删除远程dev分支
git merge dev:帮dev分支合并到当前分支
git branch:查看本地分支既当前分支
git branch -vv:查看本地分支对应的远程分支
5,比较区别:如果自己工作区代码做了修改想看看做了哪些修改或者想要看看工作区和某个版本库的区别,可以使用下面命令:
git diff filename:比较工作区和暂存区
git diff --cached filename:比较暂存区和版本库
git diff commit_id:比较工作区和指定版本库
gif diff HEAD filename:比较工作区与最新版本库
6,git tag:打标签主要对某一时间点的版本做标记,常用于版本发布。
创建标签:git tag v1.0
创建带有说明的标签:git tag -a v0.1 -m "version 0.1 released"
删除标签:git tag -d v0.1
查看标签:git tag
查看标签详细信息:git show <tagname>
推送标签到远程:git push origin v1.0【推送所有标签:git push origin --tags】
删除远程标签:git push origin :refs/tags/<tagname>【要想删除远程标签必须先删除本地标签】
7,更新代码
git pull:更新远程代码并且与当前代码合并
git fetch:更新远程代码
git merge:合并代码到当前分支
git pull==git fetch + git merge
//实例:
git fetch origin master:tmp //在本地新建一个temp分支,并将远程origin仓库的master分支代码下载到本地temp分支
git diff tmp //来比较本地代码与刚刚从远程下载下来的代码的区别
git merge tmp //合并temp分支到本地的master分支
git branch -d temp //如果不想保留temp分支 可以用这步删除
8,远程仓库:【查看远程仓库地址命令:git remote -v】
在使用远程仓库之前需要在github上注册账号,由于你本地git仓库和github远程仓库之间的传输是通过SSH加密的,所以需要如下设置:
1)创建ssh key。
使用命令:ssh-keygen -t rsa -C 'yuyongkun4519@qq.com'
成功之后.ssh目录下面会生成两个文件id_rsa和id_rsa.pub其中id_rsa是私钥,需保密,id_rsa.pub是公钥,可以告诉别人。
2)添加远程仓库
git remote add origin git@github.com:yuyongkun/study.git
3)关联并推送到远程仓库
git push -u origin master
9,常见问题:
Git远程仓库地址变更本地如何修改?
以下均以项目git_test为例:
老地址:http://192.168.1.12:9797/john/git_test.git
新地址:http://192.168.100.235:9797/john/git_test.git
远程仓库名称: origin
方法一 通过命令直接修改远程地址
进入git_test根目录
git remote 查看所有远程仓库, git remote xxx 查看指定远程仓库地址
git remote set-url origin http://192.168.100.235:9797/john/git_test.git
方法二 通过命令先删除再添加远程仓库
进入git_test根目录
git remote 查看所有远程仓库, git remote xxx 查看指定远程仓库地址
git remote rm origin
git remote add origin http://192.168.100.235:9797/john/git_test.git
方法三 直接修改配置文件
进入git_test/.git
vim config
[core]
repositoryformatversion = 0
filemode = true
logallrefupdates = true
precomposeunicode = true
[remote "origin"]
url = http://192.168.100.235:9797/shimanqiang/assistant.git
fetch = +refs/heads/*:refs/remotes/origin/*
[branch "master"]
remote = origin
merge = refs/heads/master
修改 [remote “origin”]下面的url即可
方法四 通过第三方git客户端修改。
以SourceTree为例,点击 仓库 -> 仓库配置 -> 远程仓库 即可管理此项目中配置的所有远程仓库, 而且这个界面最下方还可以点击编辑配置文件,同样可以完成方法三。
相关推荐
git学习笔记(git学习笔记).md
在“git学习笔记”中,我们通常会涵盖以下几个核心知识点: 1. **Git安装与配置**:首先,我们需要了解如何在不同的操作系统(如Windows、MacOS或Linux)上安装Git,并设置用户信息,包括用户名和邮箱,这些信息会...
GIT学习笔记
Git学习笔记干货 Git 是什么? Git 是目前世界上最先进的分布式版本控制系统。版本控制系统是指一种记录、跟踪和管理代码变动的系统。Git 的出现解决了手动管理多个“版本”的问题,使得多人协作编辑变得更加方便。...
个人github、git学习笔记。包含Github和git的基础命令和介绍。由于网络问题在国外很难插入图片,把源文件的pdf导出版本进行上传。
Git是一款广泛使用的分布式版本控制系统,由Linus Torvalds于2005年发起,旨在快速高效地处理项目中源代码的变更。版本控制系统的主要目的是帮助团队协作,追踪文件变更历史,以及能够在不同版本之间进行切换。版本...
git学习笔记
Git(读音为/gɪt/)是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理。 [1] Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件
Git学习笔记目标规划,大学学习可以用到,也可以用于自我检测
### Git学习笔记——入门篇 #### 一、Git简介与安装 **Git**是一种分布式版本控制系统,用于跟踪计算机文件的变化,并协调多个用户之间的共享工作。它最初由Linus Torvalds于2005年创建,目的是为了更高效地管理...
相关git学习笔记上传
### Git学习笔记 #### Git的历史背景与发展 - **Git的诞生**:Git的诞生源于Linux内核项目的实际需求。在2002年至2005年间,该项目使用了一款名为BitKeeper的分布式版本控制系统来管理其源代码。然而,随着...
Git安装,git学习笔记,zhang
git学习笔记总结-版本管理