使用git

Posted chenliang0309

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用git相关的知识,希望对你有一定的参考价值。

1. Git是什么?

Git是目前世界上最先进的分布式版本控制系统(没有之一)

2. 安装Git

2.1 linux安装Git

debian或者Ubuntu Linux:sudo apt-get install git
如果是其他linux版本,可以直接通过源码安装。先从Git官网下载源码,解压,依次输入:
./config, make, sudo make install

2.2 Windows上安装Git

可以从官网上直接下载安装程序,默认安装即可,安装完成会有Git Bash,类似一个linux命令行的窗口

3. 设置

安装完成进行如下设置
$ git config --global user.name "your name"
$ git config --global user.email "[email protected]"

4. 创建版本库

找到一个合适的地方,创建一个空的文件夹
mkdir learngit
cd learngit
pwd
通过git init 命令把这个目录编程Git可以管理的仓库
git init
会生成一个.git的目录

5.把文件添加到版本库

先创建一个文本文件如readme.txt,里面内容如下
it is a git test
将文件添加到仓库
git add readme.txt
然后执行git commit 将文件提交到仓库
git commit -m "add readme.txt"
通过命令git status可以查看仓库的当前状态

6. 查看修改的内容

修改文件readme.txt里的内容,执行git addgit commit
然后通过git diff 可以查看修改的内容

7. 版本回滚

HEAD指向的版本就是当前版本,因此,Git允许我们在版本的历史之间穿梭,使用命令
git reset --hard commint_id
穿梭前,可以用git log查看提交的历史,以便确定要回退到哪个版本
要重返未来,用git reflog查看历史命令,一边确定回到未来的哪个版本

8.工作区和暂存区

8.1 工作区

就是在自己电脑里能看到的目录

8.2 版本库

工作区有一个隐藏目录.git,这一个不算工作区,而是Git的版本库
将文件网版本库里提交的时候,分两步执行
第一步:git add将文件添加进去,实际上就是把文件修改添加到暂存区
第二步:git commit提交更改,实际上就是把暂存区的所有内容提交到当前分支。

9. 管理修改

Git跟踪并管理的是修改,而不是文件
所以每次修改之后都要在提交前执行git add,如果git add之后,再修改文件git commit,第二次修改的内容将丢失

10. 撤销修改

未执行git add之前可以使用git status查看,并执行git checkout -- file 可以丢弃工作区的修改
$ git checkout -- readme.txt
如果执行了git add之后,再未提交之前,使用git reset HEAD

11 删除文件

在Git中,删除也是一个修改操作,我们添加一个新文件test.txt到Git并且提交
执行rm test.txt
这个时候,执行git status查看,会告诉我们哪些文件被删除了
现在可以有两个选择,一是确定从版本库中删除该文件
git rm test.txt并且执行git commit, 文件就从版本库中删除了
如果想恢复,可以执行git checkout -- text.txt从版本库中恢复

12. 远程仓库

GitHub提供Git仓库托管服务,先注册的一个GitHub账号

12.1 创建SSH Key

在用户主目录下执行ssh-keygen -t rsa -C "[email protected]"
会生成一个.ssh目录,里面有id_rsa和id_rsa.pub两个文件

12.2登陆GitHub,打开“Account settings”, "SSH Keys"

点击“Add SSH Key”,填上任意Title,在key文本框里粘贴id_rsa.pub文件的内容,点击“Add Key”

12.3 创建一个远程的仓库

登陆GitHub,然后,在右上角找到“Create a new repo”按钮,创建一个新的仓库例如spider
然后再本地执行命令
git remote add origin [email protected]:chenliang1995/spider.git
添加成功后,需要执行
git push origin master
把本地master分支的最新修改推送至GitHub
如果报错为
Permanently added the RSA host key for IP address ‘13.229.188.59‘ to the list of known hosts
需要将13.229.188.59 github.com添加到/etc/hosts中(linux)或者/c/windows/system32/drivers/etc/hosts(windows)
如若报错为
refusing to merge unrelated histories
可以使用命令git pull origin master -allow-unrelated-histories强制将文件拉取到本地仓库,再推送到远程仓库上

12.4 从远程克隆

假若本地没有仓库,可以从远程克隆
git clone [email protected]:chenliang1995/spider.git
同时,GitHub支持https,类似https://github.com/chenliang1995/spider.git这样的地址

13 分支管理














































以上是关于使用git的主要内容,如果未能解决你的问题,请参考以下文章

VSCode自定义代码片段15——git命令操作一个完整流程

VSCode自定义代码片段15——git命令操作一个完整流程

如何管理在每个 git 版本中添加私有代码片段?

markdown Git代码片段

GitGit 分支管理 ( 克隆远程分支 | 克隆 master 分支 git clone | 查看远程分支 git branch -a | 克隆远程分支 git checkout -b )(代码片段

GitGit 分支管理 ( 克隆远程分支 | 克隆 master 分支 git clone | 查看远程分支 git branch -a | 克隆远程分支 git checkout -b )(代码片段