Git的使用(一)
前言
git是什么?下面是git官方的描述:
Git is a free and open source distributed version control system designed to handle everything from small to very large projects with speed and efficiency.
翻译过来:git是一个免费的、开源的分布式版本控制系统,可以快速高效地处理从小型到大型的各种项目。
提示:本文基于Linux系统
1. 安装Git:
sudo apt-get install git
2. 查看已安装Git的版本:
git --version
如果已经安装了Git的,该命令会打印出安装的版本。打印结果比如:git version 2.7.4。提示: The program ‘git’ is currently not installed. 就表明没有安装,那么根据提示下载就行了。
3. 配置Git信息:
git config --global user.name "your Name"
git config --global user.email "email@example.com"
安装Git后建议配置一下用户信息,这些信息你每次提交都会用到,可以方便以后log查看文件提交人的信息。
4. 查看配置的信息:
git config --list
可以列出Git在该处找到的所有的设置信息,不同仓库可以指定不同的用户名和Email地址。
5. 初始化本地仓库:
git init
先建立一个空文件夹,cd 进入该文件夹,初始化一个本地仓库。会提示Initialized empty Git repository 后面跟本地仓库的路径,我们可以查看该文件夹下文件列表ls -ah git的默认隐藏目录.git,里面的东西最好不要修改。初始化了本地仓库才能进行git的一些操作。当然如果只是单纯的"白嫖"一些项目代码,只git clone加上仓库地址就行,该命令下面会讲述到。
6. 添加文件到暂存区:
git add ××.××
本地仓库的文件有修改或者增加了新文件,执行此命令将修改特定文件添加到暂存区。也可以git add . 将所有文件提交。
7. 查看仓库状态:
git status
本地仓库的文件有修改或者增加了新文件后仓库状态就会改变,Changes not staged for commit 就是更改了文件却没有提交,具体更改看提示信息。
8. 提交文件到本地版本库:
git commit -m "提交时的备注"
提交文件最好备注一下,方便查看不同版本库的差异。上传至本地仓库后查看status会发现nothing to commit ,working directory clean。每次提交之前确保本地工作区clean.
9. 查看修改后文件与之前的不同:
git diff
把文件添加到暂存区前,查看下在工作区中做了那些修改。add之后就查看不到不同了。即该命令只能查看本地和暂存区文件间的区别。
10. 查看不同版本库的历史记录:
git log
打印由近到远的日志信息。commit id版本号、提交人信息和备注信息都会显示。
11. 版本回退:
git reset --hard 版本id
有时要退回某一个版本时,可使用此命令。上一个版本可以直接git reset --hard HEAD^ ,HEAD指向当前版本,那上上个版本就用两个^啦,具体某个版本跟上版本id即可。之前版本可以git log查看。
12. 版本提前:
git reflog
退回上一个版本后发现还是之前最新的好,此时git log里已经没有之前版本信息了,使用git reflog查看命令历史,以便确定要回到之后的哪个版本。
13. 舍弃修改:
git checkout – file
工作区修改完使用此命令舍弃修改。提交到暂存区后,想丢弃修改,分两步,第一步用命令git reset HEAD ,就回到了工作区,然后再checkout,就完全舍弃。
如果你提交到本地仓库后,使用回退版本即可恢复上次内容。
14. 删除文件:
git rm 文件名
删除版本库文件,commit提交加上备注信息。恢复上一个版本git reset --hard HEAD^。
在工作区rm 文件可以使用git checkout – 文件恢复。
15. 建立与远程仓库ssh连接:
ssh-keygen -t rsa -C "youremail@example.com"
用户文件接下执行完该命令会创建一个.ssh文件夹,使用cat id_rsa.pub打开这个公共密钥,复制到github自己账户的SSH连接里。
然后git remote add origin git@github.com:yourname/rep_name.git创建远程连接。origin是远程库的名字,这是Git默认的叫法,也可以改成别的,但是origin这个名字一看就知道是远程库。
也可以使用http协议建立连接。
16. 查看远程库的连接:
git remote -v
17. 删除远程库的连接:
git remote rm origin
18. 克隆远程仓库:
git clone git@github.com:yourname/rep_name.git
ssh协议速度比较快,但是必须已经建立好了连接,使用http协议也可,就是速度有些慢。可以去网上搜索github加速的方法,修改hosts文件还是有效果的。
19. 推送到远程仓库:
git push -u origin main
推送到远程库的main默认分支。