言成言成啊 | Kit Chen's Blog

Git使用技巧

发布于2019-10-03 19:57:09,更新于2022-09-14 22:44:39,标签:git  文章会持续修订,转载请注明来源地址:https://meethigher.top/blog

详细教程:参考https://www.liaoxuefeng.com/wiki/896043488029600

最近发现git的帮助挺好用的,解释的也很清晰

1
git --help

http的好处是,不用配置密钥,可以直接输入账号密码即可,缺点是每次都要输入。

ssh的适用固定的电脑,一次配置,无需密码。

一、图形界面工具

这边推荐使用sourceTree,我工作中用的就是这个。

二、基本操作

常用

初始化git

1
git init

添加所有内容到git

1
git add .

查看状态

1
2
git status # 查看变动状态
git diff <filename> # 查看变动的内容

取消本地暂存

1
git restore --staged .

提交到本地仓库

1
git commit -m "内容"

创建远程连接

1
2
3
git remote add origin <git> #创建远程连接
git remote rm origin #删除远程连接
git remote -v #查看所有远程连接

创建本地分支

1
2
git branch <分支名称> #建立分支
git branch #查看所有分支以及当前分支

重命名本地分支

git 本地分支和远程分支改名字 - 简书

1
git branch -m old_branch new_branch

删除本地分支

1
git branch --delete <分支名称>

删除远程分支

1
git push origin --delete <分支名称>

切换分支

1
git checkout <分支名称>

创建并切换分支

1
git checkout -b <分支名称>

推送到远程分支

1
2
3
git push origin <分支> #将本地的分支提交到远程仓库该分支下面,如果远程仓库没有该分支,就会创建该分支

git push origin <本地分支:远程分支> #将本地分支提交到远程指定分支上

查看提交日志

1
2
git log # 如果含有中文,会自动用16进制编码
git log --pretty=oneline # 只输出文件版本号和注释

拉取远程代码

1
2
git fetch origin <分支> #将远程分支拉到本地仓库
git checkout -b <本地分支> origin/<远程分支> #将远程分支内容保存到本地指定分支,并不会额外创建master分支

pull相当于以上两步,不过多出来了一个master分支

1
2
git pull origin <远程分支>:<本地分支> #相当于以上两步,并且是拉取到master再拉取到dev
git pull origin <远程分支> #将远程分支拉取到本地分支

如果不想要master,可以这么操作

1
2
git checkout -b <本地分支> #本地创建并切换分支
git pull origin <远程>:<本地> #无需中间master,直接拉到dev

版本回退

网页操作

以github为例,如图。

先查看所有提交历史,找到想要下载的commit

点击Browse the repository at this point in the history,直接下载即可。

命令行操作

1
git reset --hard <commitId>

如果想要只输出文件版本号

跟注释,可以通过git log --pretty=oneline查看

1
2
3
4
$ git log --pretty=oneline
f6af78dc6dc5944e0e04df3ac46b83ecc667a3c4 (HEAD -> master) third commit
535bf16545a58f9e8c6f9d29218e5c46befa9a67 second commit
5d8a7ff0c255d26df63e675393a85c756e4230ce first commit

现在的位置是在third commit,如果想要回退到first commit,可以通过git reset --hard <HEAD>

1
2
$ git reset --hard 5d8a7ff0c255d26df63e675393a85c756e4230ce
HEAD is now at 5d8a7ff first commit

可以看到现在已经回退到了first commit

但是,此时如果再用git log会发现之后的最新的那几个版本已经看不到了!

这就好比你从21世纪穿梭到19世纪,回不去了。

解决办法:

  1. 命令行没有清空的情况下,可以找之前的版本号
  2. 命令行清空的情况下,可以通过git reflog来找版本号,git reflog用来记录你的每一次命令
1
2
3
4
5
$ git reflog
5d8a7ff (HEAD -> master) HEAD@{0}: reset: moving to 5d8a7ff0c255d26df63e675393a85c756e4230ce
f6af78d HEAD@{1}: commit: third commit
535bf16 HEAD@{2}: commit: second commit
5d8a7ff (HEAD -> master) HEAD@{3}: commit (initial): first commit

删除仓库

windows

查看当前路径所有内容

1
dir /a

展示指定文件夹内容

1
tree /.git

删除文件

1
del <filename>

递归删除文件夹

1
rmdir /s <folder>

linux

查看当前路径内容

1
ls

删除文件

1
rm <filename or folder>

递归删除文件夹

1
rm -r <folder>
发布:2019-10-03 19:57:09
修改:2022-09-14 22:44:39
链接:https://meethigher.top/blog/2019/git-learn/
标签:git 
付款码 打赏 分享
Shift+Ctrl+1 可控制工具栏