0.前言
git作为一个最流行的分布式版本管理工具,我们一起学习一下他的用法吧!
1.安装与配置
1.1 安装
在linux下,直接运行以下命令即可完成安装:
sudo apt-get install git
windows下,进入官网安装即可。
安装完毕后,在命令行使用如下命令查看git版本信息。
git version
1.2 设置名字和邮箱
//在当前目录下生效
git config --local user.name "yzy"
git confit --local user.email "..."
//在当前用户环境下生效:
git config --global user.name "yzy"
git config --global user.email "..."
//在当前计算机环境下生效:
git config --system user.name "yzy"
git config --global user.email "..."
//查看当前配置信息。
git config --global --list
2.git操作流程示例
2.0 初始化一个仓库
初始化一个git仓库的命令为
git init
运行命令后,会在当前文件夹建立一个git仓库,如果电脑设置了查看隐藏文件夹,会发现,git帮我们创建了一个.git文件夹,里面装了一些版本控制的相关文件。
2.1查看当前目录下的git状态
查看状态的命令为
git status
我们会经常使用到这个命令,我们在空文件夹下运行这个命令会提示文件夹为空:
D:\go\src\gittest>git init
Initialized empty Git repository in D:/go/src/gittest/.git/
D:\go\src\gittest>git status
On branch master
No commits yet
nothing to commit (create/copy files and use "git add" to track)
2.2保存一个文件到目录下
接下来,使用记事本新建一个hello.txt文件到此文件夹下,并再次查看状态。
再次运行git status ,可以看到状态改变了。
D:\go\src\gittest>git status
On branch master
No commits yet
Untracked files:
(use "git add <file>..." to include in what will be committed)
hello.txt
nothing added to commit but untracked files present (use "git add" to track)
2.3 add和commit文件
根据提示,我们输入如下命令,注意,文件名可以使用tab直接补全:
git add hello.txt
再次查看状态,显示有一些变更需要commit:
D:\go\src\gittest>git status
On branch master
No commits yet
Changes to be committed:
(use "git rm --cached <file>..." to unstage)
new file: hello.txt
根据提示输入如下命令,注意,此处的 -m 表示的是此次提交的注释:
git commit -m "creat hello.txt"
再次查询状态后,可以看到working tree已经干净了。
D:\go\src\gittest>git status
On branch master
nothing to commit, working tree clean
3.上述流程解析
3.1 文件分类与工作分区
以上的工作流程中,文件被分为了三类,三类文件又属于不同的区中:
- 已修改,刚刚修改过的文件,即上述流程中新建的test.html文件,这时候文件处于工作区。
- 已暂存,使用git add命令运行过的文件,这时候文件进入了暂存区。
- 已提交,使用git commit命令提交过的文件,这时候文件进入GIT仓库。
注意,使用git status命令可以看到处于三种不同区域的文件,上述流程中也进行了演示。
4.同步代码到远程仓库
上述的仓库创建的都是本地仓库,我们还可以把代码同步到远程仓库上。远程仓库有很多,有很多远程仓库可以选择,比如 github(https://github.com/),码云(https://gitee.com/)上创建的仓库,注意github或者是码云都不是远程仓库而是git服务器,可以在其上构建远程仓库;公司内部也可以有自己构建的远程仓库。
本次以GITHUB为例,进行同步操作。
4.1 新建一个仓库
在github上新建一个仓库,新建完后得到如下页面:
这里,我们有两种push方式,一种是ssh,一种是https。
我们一般使用ssh,因为https每次使用都要输入密码,使用ssh的方法主要有三步:
- 创建本机的公私钥对
- 在github上配置自己的公钥
- 提交远程仓库
4.2 创建自己的公私钥对
在windows下输入如下命令生成公私钥对,用 -t 选项指定密钥类型,如果没有指定则默认生成用于SSH-2的RSA密钥。用-C来指定这个密钥的注释,可以方便用户标识这个密钥,这里一般输入自己的邮箱。
ssh-keygen -t rsa -C "youremailaddress"
输入命令后会要求输入一个passphrase,这里输入空即可。
运行完毕后,可以根据提示看到密钥生成的文件夹,进入文件夹中,找到id_rsa.public文件,这就是生成的公钥,打开并复制文件。
4.3 在github上配置自己的公钥
打开自己账户的设置
点击如下的按钮
输入上述生成的公钥内容。
4.4 提交远程仓库
根据上述创建页面的提示,依次在工作目录下输入如下命令:
//给本地仓库添加一个远程仓库,这里yzy字段是可以自己输入的,就是远程仓库的一个代号(此处的尾部为.git的地址,在4.1新建仓库小节中,点击SSH即可复制)
git remote add yzy git@github.com:yinzhongyu/gin_demo.git
//将分支改名为main
git branch -M main
//推送到远程仓库
git push -u yzy main
5.使用git获取代码
获取代码主要有两种命令,一个为git clone
,另一个为git pull
。
如果仓库已经由别人创建完毕,我们需要其中的内容,则可以通过git clone
将其复制到本地。
多人协同开发时,写好代码后 git push
上传到远程仓库;需要代码的git pull
拉取代码即可
6. git使用的小技巧
注意,如果有很多文件需要提交,可以用. 代替:
git add .
查看所有历史提交
git log
进入源码的指定版本:
git tag
列出所有版本号
git checkout
+某版本号
git remote -v
查看已经关联的远程仓库
很多IDE都内置了git工具,可以一键commit、push等。