Git学习使用

1、git的安装

sudo apt install git

2、基本信息设置

git config --global user.name '用户名' //设置用户名

git config --global user.email '邮箱'  //设置邮箱

3、生成密匙

ssh-keygen  //命令之后按三下回车即可

接着查看公匙

cat ~/.ssh/id_rsa.pub

接下来登录GitHub然后进入setting找到 SSH and GPG keys
然后复制公匙:
在这里插入图片描述
点击new SSH key
在这里插入图片描述
然后随便起一个title,把密匙复制进去,这样就完成了链接。
通过ssh -T git@github.com可以判断链接是否成功,第一次链接会有提示,输入yes即可

4、创建本地库

首先新建一个文件夹作文你的仓库
进入该文件夹中输入

git init

此时你的文件夹就变成了Git可以管理的仓库
输入ls -a可以看到文件中多了一个 .git文件

5、git add、git commit 、git status指令的使用
新建一个几个 .c 文件,通过指令

git add *.c //将所有c文件加入暂存区
git add . //将文件夹下所有文件加入暂存区
git add file1 file2 ... //将多个文件加入暂存区

将所有的c程序文件添加到暂存区

之后可以通过

git commit -m 'msg' //将暂存区的文件提交到本地库
git commit file1 file2  ... -m 'msg' //提交暂存区指定文件到本地库
git commit -a  //修改后的文件无需先使用git add,直接提交到本地库

我们可以通过git status 来查看在提交之后是否还对文件有进一步的修改。不论是否已使用git add存入暂存区的修改
还可以使用git log查看提交的,每一个版本

6、git pull使用
我们同样可以通过远程拉取的方式获得代码与本地的版本合并

git pull <远程主机名> <远程分支名>:<本地分支名>

7、git diff使用
主要用于比较文件的差异

git diff  //比较  暂存区和工作区  文件差异

git diff --cached //比较 暂存区和上一次提交 文件差异

git diff HEAD //比较所有改动的文件,包括上面两种情况	

git diff --stat //显示修改摘要,且只比较 工作区和暂存区 文件

8、git reset使用

回退版本

git reset HEAD^ //回退到上一个版本(将暂存区中的文件回退到上一个版本)
git reset HEAD^ xxx.c //回退某个文件到上一个版本
ps:HEAD^ 回退一个版本 HEAD^^ 回退两个版本 HEAD^^^ 回退三个版本 以此类推... 也可以使用数字代替 HEAD~1 HEAD~2 HEAD~3。
git reset 版本号 //回退到某一个版本

对于 --head 参数要慎用,他会删除回退点之前的所有提交内容,包括工作区未提交的!!!!

9、git rm 使用

git rm <file> //删除 工作区和暂存区 中的文件

//如果删除之前修改过并且已经放到暂存区域的话,则必须要用强制删除选项 -f。
git rm -f <file> //强制删除

10、git mv使用

git mv <file name> <new file name> //将文件重命名为新的文件名
git mv <file name> 路径 //将文件移动到指定路径

11、git blame

git blame <file name>  //以列表形式查看某个文件的的修改记录

二、向远程仓库提交文件
经过git initgit addgit commit这些都是你在本地对自己的仓库进行操作。现在我们需要把本地仓库中的内容传递到远程仓库 ‘Github’

1、首先登陆github创建一个新的 repository 随便起一个名字即可
在这里插入图片描述
在这里插入图片描述

然后回到本地仓库下输入如下指令

例子:

  git remote add origin git@github.com:tianqixin/runoob-git-test.git

origin为你给远程仓库起的名字,一般都为origin。
后面的地址可以 通过进入你刚刚创建的repository 找到ssh
在这里插入图片描述
此时你的本地仓库就和远程仓库取得了连接!

然后提交你的文件到你的远程仓库

git push -u origin master  

其中-u参数是用来设置 master为你的默认分支,以后你使用git push即可把你的文件传输到master分支下。

2、git fetch使用

git fetch origin //从远程获取代码库,但是从远程获取的代码库不会自动合成到你的分支上
//需要手动输入以下指令
git merge origin/master 

具体原理参考
分支合并原理

3、git branch使用

git branch //不加参数的情况下,显示目前所有分支和所选的分支
git branch name //新建一个分支
git branch -d name //删除分支

4、git clone
拷贝一个远程仓库到本地

git clone 地址 

5、git pull使用

其效果等同于git fetch + git merge

git pull <远程主机名> <远程分支名>:<本地分支名> //拉取远程分支与本地分支合并

6、git stash

存储当前的工作区和缓冲区 ,通过git stash save “name”可以给存储文件命名

git stash list //显示存储的列表
git stash pop stash@{0} //命令恢复之前缓存的工作目录,将缓存堆栈中的对应stash删除

7、git cherry-pick
可以将另一个分支的某个commit,合并到本分支
详情见此

8、git revert
详情见此

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值