[git] git入门及常用的命令-持续更新中

为什么要使用git

  1. 版本太多,哪个才是最终的版本
  2. 临时修改版本,需要重新拷贝一个新的版本修改
  3. 需要使用历史版本,但是没有版本备份
  4. 新增了代码,不知道是谁修改的

安装下载

windows用户git安装链接:Git (git-scm.com)

下载安装完成后点击鼠标右键会出现git的功能

点击open git bash here,出现git命令行

查看git配置

git config --list

配置用户名和邮箱

git config --global  user.name  "your name"

git config --global  user.email  "your email"

配置完成后再查看配置git config --list 看是否配置成功

辅助的GUI工具

source tree下载地址:Sourcetree | Free Git GUI for Mac and Windows

小乌龟:Download – TortoiseGit – Windows Shell Interface to Git

vs code Visual Studio Code - Code Editing. Redefined,下载插件就可以

还有其它的GUI工具可自己去搜索

git 的管理结构

工作区:工作区就是电脑能看到的目录。

暂存区:英文名叫index或stage,一般放在.git文件下的index文件中,所以暂存区也叫索引。

版本库:工作区有个隐藏的.git文件叫版本库,


初始化空的版本库

git init

新建文件查看工作区状态

在工作区新增一个git_test.txt文件。

git status 查看工作区的状态

工作区文件的状态

  1. 已修改(modified)但未添加至暂存区
  2. 未追踪(untracked)
  3. 已修改(modified),已添加至暂存区
  4. 将文件添加到版本库监测对象中

 git  add

git add  <file>:将<file>添加到监测对象中

查看文件状态

git add .或者git add ./<文件夹>:将多个文件添加到跟踪目录中

.gitignore 文件

出现在.gitignore 中的文件将不会被git add . 命令添加进版本库,但你仍然可以使用git add <file>将文件进行添加

.gitignore文件不生效

如果开始建立git仓库的时候没有添加.gitignore文件,后续新增了.gitignore文件,则需要将当前仓库的文件设置为未跟踪的状态。

.gitignore文件只会以当前未跟踪的状态进行忽略

将仓库文件设置为未跟踪的状态:git rm -r --cached

将文件提交到仓库中

git commit -m "提交信息"

-m  后面跟上本次提交的说明

提交后,工作空间就干净了

查看提交日志

git  log

提交包含的信息:

commit d7b15644ee38136038a373d61e13c3fec2b9d2cc 

Author: 作者和邮箱

Date:  Mon Nov 27 13:53:23 2023 +0800提交时间

first commit  提交信息

查看修改

使用git diff命令可以查看修改。

git diff <commit id1> <commit id2>    查看两次提交间的差异

git diff                                                     查看工作区与暂存区的差异

git diff HEAD                                           查看工作区与上次提交的差异

git diff --cached                                      查看暂存区与上次提交的差异

版本回述

方法一

git checkout <commit id>:回退到某次提交

git checkout master :切回master分支

方法二

git reset --hard <commit id>

完事之后,使用git reflog查看提交的历史,然后再使用一次

git reset --hard <新版本的commit id>

即可回到原来的状态(这里工作区/暂存区的修改会被丢弃)。

临时存储工作区-stash

需要解决bug,但是现在空间的代码不能通过编译

使用 git stash push 将工作区/暂存区的修改临时添加到缓存区(不包括untracked file,若有需求需要先使用git add),此时所有的修改将会进入stash,使用git status会提示worktree clean

在解决完BUG并完成相应提交后,使用git stash pop回到之前的工作状态。

多人合作开发

远程仓库

在git服务器上创建远程仓库

选择创建空白工程

新建一个测试仓库

本地和远程建立链接

git remote add <remote repo name>  <URL>

克隆远程仓库

git clone  <URL>

拉取所有远程分支

git branch -a 查看所有分支

git checkout  -b dev  origin/dev  作用是切换到远程dev分支,在本地起名为dev分支,并切换到dev分支。

删除远程的分支

将本地仓库推送到git服务器

git push -u test_project 

推送成功

git服务器查看推送状态

生成SSH密钥

SSH密钥是什么

本地Git仓库和git服务器的仓库之间的传输是通过SSH加密的,所以需要生成SSH密钥,将公钥放入服务器中,这样git服务器就可以确认推送确实是你推送的。

之前可以发现,如果使用HTTP链接访问,每次推送拉取需要登录账号和密码比较麻烦。

密钥生成

ssh-keygen -t rsa -C "自己的邮箱"

连续点击三次enter可已生成密钥

生成后公钥和私钥存在的位置是本地用户个人的文件夹中会生成.ssh目录

id_rsa:私钥

id_rsa.pub:公钥

将本地公钥的内容全选粘贴到服务器中

添加好公钥以后就可以使用SSH拉取推送了

分支管理命令

列出所有分支

git branch -a

新建分支

git branch <分支名>

新建并切换到新建分支

git checkout -b <分支名>

切换到分支

git  checkout  <分支名>

删除分支

git  branch -d <分支名>

强制删除分支

git branch -D <分支名>

分支重命名

git branch -m <old name>  <new name>

分支合并-将分支2合并到分支1

1. 将分支切换到分支1上;

2. git merge 分支2。

  • 9
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值