Git的基础使用
生成密钥
生成密钥指令:ssh-keygen -t rsa
查看密钥有没有生效:ssh -T git@github.com
你可能会看到告警信息,如下:
The authenticity of host 'github.com (207.97.227.239)' can't be established.
RSA key fingerprint is 16:27:ac:a5:76:28:2d:36:63:1b:56:4d:eb:df:a6:48.
Are you sure you want to continue connecting (yes/no)?
直接输入yes
如果看到下面信息,就说明已生效
Hi username! You’ve successfully authenticated, but GitHub does not provide shell access.
步骤
echo "# 仓库名" >> README.md
// 链接github仓库
git init
// 初始化,表示用当前目录作为git仓库,执行完后生成一个 .git目录
git add README.md
git add *.cpp
// git add 实际是把文件修改添加到暂存区。
git commit -m "first commit"
// git commit 是把暂存区的所有内容提交到当前分支
//以上命令将目录下以.cpp结尾及README.md文件提交到仓库中
git remote add origin https://github.com/Alieo/haha.git
//查看当前远程库,并给他添加网址
git push -u origin master
// 上传到默认分支master中 -u 强行上传
git工作区和暂存区
1、工作区
linux终端中能看到的目录,就是一个工作区。
2、版本库
工作区中的一个隐藏目录.git
,就是git的版本库。
版本库中有stage
和master
默认分支,最重要的是stage
(或叫index)的暂存区。
git 常用命令
1、git clone [url]:git 克隆
[url]
是你想要复制的项目网址,网址尽量使用git
协议。https
协议容易出错。
2、git status:检查当前文件状态
将文件同步到仓库后立即执行此命令,会看到类似这样的输出
这表明现在所有已跟踪文件在上次提交后都没被更改过,而且当前目录下没有出现任何处于未被跟踪状态的新文件,如果有,会在这里列出来。
3、git rm:移除文件
从git
中移除某个文件,实际上是从已跟踪文件清单中移除(确切的现货,是从暂存区移除),并且也会将此工作区下该文件删除。 -f
强制删除
另一种情况是,我们想把文件从git
仓库中删除(亦即从暂存区删除),但仍然希望保留在当前工作区中,换句话说就是要删除跟踪,但不删除文件,用 --cached
即可:git rm –cached [文件名]
4、git mv:移动文件(改名)
git mv a b // 将 a 名改成 b 名
5、git log:查看更新历史
他会按提交时间列出所有的更新,最新的更新排在最上面
常用的有:
-p
:展开显示每次提交的内容差异
-2
:仅显示最近的两次更新
6、git remote :查看当前的远程库
(1)git remote -v:如果有多个远程仓库,可以用此命令全部列出
(2)git remote add [仓库名] [url] :添加远程仓库
$ git remote
origin
$ git remote add pb git://github.com/paulboone/ticgit.git
$ git remote -v
origin git://github.com/schacon/ticgit.git
pb git://github.com/paulboone/ticgit.git
pd是仓库名,指代对应的仓库地址
(3)git remote show [仓库名] :查看远程仓库的详细信息
(4)git remote rename:可以修改某个远程仓库在本地的简称
7、git diff:查看具体修改了什么地方
当我跟踪t_9.c
后,对t_9.c
进行修改,执行git diff
他就会提示你修改了什么地方
git diff三种比较
(1).git diff
将工作区中某个文件和缓存区的比较。
(2).git diff -cached
将缓存区中的某个文件和分支上的作比较。
(3).git diff HEAD -
将工作区中的某个文件与分支上的作比较。