git基本使用

以下是我学习git过程中记录的一些笔记,如果是初学者,我还是建议廖雪峰老师的网站,学习起来比较简单

install

我用的是ubuntu,所以以ubuntu为例,运行如下命令:

sudo apt install git

command

初始化

在你所需要git管理的文件夹下,运行如下命令

git init

实际运用过程中,这个我基本不用,因为我需要版本管理的文件我都会同步到github或者gitee上,所以我一般是在网上先建立代码仓库,然后clone下来,就在clone下来的这个文件夹里操作就可以了

身份说明

运行如下命令:

git config --global user.email "you@xxx.com"
git config --global user.name "you name"

提交文件

git add <file name>
git commit -m "提交说明"

这里我的个人理解是这样的,第一条命令,我们把修改过的文件提交到缓冲区,就好比我们把作业交到了课代表处,提交到这,我们如果还不满意,还能继续修改,再提交,第二条命令就是课代表把这个文件提交到老师处,并对这一次提交的东西做了一个说明,提交到这,你所修改的文件就被保存下来了,如果你后悔了,想回到之前的那个状态,一种是你手动改回去,然后重新交作业,另外一种就是借助时光机了。

仓库状态

git status

修改的具体内容

git diff

修改日志

git log

退回版本

git reset --hard HEAD^^

这就是上文中的时光机,我们可以通过这条命令退回到之前的状态下,这里HEAD是贷前版本的关键字,符号^有几个就代表回退几次,如果回退的版本比较久远,可以写成HEAD~x,用x来代表回退几次。

git reset --hard 版本号

我们在执行命令的这个终端还未关闭之前,可以这样退回,版本号不用写全,但是要让git能定位到唯一的版本位置

记录操作命令

git reflog

可以用来查找没有记住的版本号

撤销修改

git checkout -- <file name>

版本提交后不行,把这个文件撤销到最近的一个状态

从版本库删除文件

git rm <file name>
git commit -m "说明"

这个过程就相当于把交到课代表那儿的作业又拿了回来,这两条命令都要执行

ssh-key

ssh-keygen -t rsa -C "邮箱地址"

可以把这个密钥添加到代码托管平台,加入.ssh/id_rsa.pub这个文件的内容

关联远程仓库

git remote add <远程仓库名字> https://xxxxxx
git push -u <远程仓库名字> master

关联之后就可将本地的文件提交到远程仓库,就好比老师把你的作业放到了一个你存放作业的柜子里。但同上所说,实际运用中,我们都是先创建远程仓库,提交的时候git push就好了。

新分支

git checkout -b xxx
git branch xxx  // 创建一个新的分支
git checkout xxx  // 切换到分支xxx

以上第一条命令,就相当于二三行命令一起执行的效果,创建一个新的分支并切换。

合并分支

git merge xxx
git merge --no-ff -m "xxxxxxx" xxxx  // 合并分支时禁用Fast forward

将指定的分支合并到当前分支中

删除指定的分支

git branch -d xxx

储存工作现场

git stash

查看远程仓库信息

git remote [-v]更详细

抓取代码

git pull  // 把最新的提交抓取下来本地
// 如果报错,是本地分支和远程分支的链接关系未建立
git branch --set-upstream-to <branch name> origin/<origin name>

整理分支

git rebase  // 将本地push的分支整理成直线

标签

git tag <tagname>
git tag -a <tagname> -m "xxx"  //指定标签信息
git tag  // 查看所有标签
git show <tag name>  // 查看某个标签的说明
git push origin <tag name>  // 推送一个本地标签
git push origin --tags  // 推送全部从未推动的标签
git tag -d <tag name>  // 删除一个本地标签
git push orgin :refs/tags/<tagname>  // 删除远程标签

跳过提交

我们有一些敏感信息的文件不能提交的时候,我们可以在文件夹里新建一个.gitignore文件,把不用提交的文件的文件名写入,这样提交的时候就会自动跳过我们写入的文件。



目前我应该还比较小白,我用到的git的功能不多,git clone 一下代码,提交,还没有创建分支这些操作,熟能生巧,还是多多练习吧。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值