Git学习笔记

Git是一个开源的分布式版本控制系统,可以有效、高速地进行项目版本管理。本文记录使用git工具时的一些常用命令以及它们的作用。

全局设置

设置用户名

git config --global user.name "username"

设置全局用户名,当推送到远程仓库之后会显示文件更改者的用户名。

设置邮箱

git config --global user.email "useremail"

设置全局邮箱。

基础使用

克隆到本地

git clone [url]

克隆远程仓库的文件到本地。添加参数-b选择分支。

git初始化

git init

初始化为一个git仓库,会生成一个git文件夹。

查看已更改文件

git status

可以查看工作区的修改是否添加到缓存区。

添加更改文件到缓存区

git add filename

将工作区的修改添加到缓存区。add为添加,rm为删除, git add -A  会更改所有变化的文件。

将缓存区内容提交到本地仓库

git commit -m "备注"

将缓存区的内容提交到本地仓库,并且添加备注,会产生一次哈希记录(版本号),可以使用git log查看。

推送到远程仓库master分支

git push origin master

参数-f为强制推送,会影响其他人的pr提交,非必要情况不推荐使用。git push origin dev:master,不同分支推送。

查看历史记录

git log

查看历史记录,可以获取一些提交信息,可以根据哈希值(版本号)进行代码回溯等操作。

回溯操作

git reset --hard 目标版本号

恢复到之前某个提交的版本,且那个版本之后提交的版本我们都不要了,就可以用这种方法。由于回溯导致版本低于远程仓库版本,所以需要使用 git push -f 来强制推送。

git revert -n 版本号

撤销某一版本的操作(该版本不会被删除),生成新的版本,可能会产生冲突,需要手动修改,使用 git commit -m “备注” 提交。

查看文件具体更改内容

git diff

可以查看文件具体更改了哪些内容,使用VScode等IDE工具更为直观。

分支操作

查看分支

git branch

查看本地所有的分支,*开头的为当前head指针所指向的分支。

创建分支

git branch 分支名

在本地创建一个分支。

删除分支

git branch -d 分支名

在本地删除一个分支。

切换分支

git checkout 分支名

进行分支的切换,实际为head指针的改变。

合并分支

git merge 分支名

进行分支合并,内容冲突需要手动进行文件内容的更改,可以借助VScode等IDE工具。

远程仓库相关

解除远程仓库链接

git remote rm origin

链接到远程仓库

git remote add origin [url]

将本地的代码库连接到远程服务器仓库。

拉取远程内容

git fetch

将远程内容拉取到本地origin/master,不会更改本地master内容,如果需要改变,需要使用git merge进行合并操作。

git pull

相较于git fetch,还进行了merge合并操作,但是需要注意合并的内容是否会产生冲突。请继续关注飞鱼ACG,后续我们将更新更多实用教程。

查看远程仓库与本地仓库关系

git remote show origin

查看远程仓库,以及与本地仓库的关系。

标签相关

查看标签

git tag

查看所有的tag。

添加标签

git tag [name]

添加tag,例如版本号v1.0.0等。

git tag -a [name] -m "备注"

相较于git tag,除了备注之外,还会额外多出一些信息。

删除标签

git tag -d <tagname>

删除本地标签。

git push origin :refs/tags/<tagname>

删除远程仓库标签。

推送标签到远程仓库

git push origin [tagname]

push单个tag。

git push origin --tags

push所有tag。

commit message

覆盖最后一次commit

git commit --amend -m

覆盖最后一次commit并且修改对应的mesage。

修改最后一次message

git commit --amend

修改最后一次message。

修改最后的多次message

git rebase -i HEAD~3

修改最近多次信息,将要修改信息的pick 修改为edit, 然后 :wq 退出。接下来,修改日志,执行 git commit –amend ,修改完成后,执行 git rebase –continue 。

其他设置

忽略权限

git config --add core.filemode false

status时忽略文件权限,以免造更改权限之后全部文件出现modified的问题。

给TA打赏
共{{data.count}}人
人已打赏
教程

CSS学习笔记

2020-7-29 17:31:04

教程

JavaScript学习笔记

2020-8-22 11:56:47

8 条回复 A文章作者 M管理员
  1. Mua

    支持一下

  2. 皮卡丘无情

    这个ACG站做的不错

个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索