Git常见操作:GUI工具、常用配置、仓库管理、分支管理、文件管理

发布时间:2025-04-07      访问量:55
工具:
Git下载页面,在Windows上下载安装后会自带命令行和GUI工具。
https://git-scm.com/downloads
第三方GUI工具列表。
https://git-scm.com/downloads/guis
github提供的GUI工具,免费的。
https://github.com/apps/desktop

配置:
开发者信息:
git config --global user.name "xxx" //--global 表示对本地所有仓库生效
git config --global user.email "xxx@xxx.com"
远程仓库:
git remote add origin xxx.git //添加
git remote set-url origin xxx.git //修改

创建仓库:
查看git版本:
git --version
在需要新项目文件夹下创建新仓库:
git init
通过克隆远程仓库来创建本地仓库:
git clone https://xxx.git
git clone https://xxx.git test_local

文件操作:
查看当前所在分支和暂存区状态:
git status
把所有未跟踪文件添加到暂存区。点号表示添加所有未追踪文件(包括子文件夹下的文件)到暂存区。如果只添加特定的文件,把点好换成特定的文件名称。点号也可以换成扩展名,比如*.txt。
git add .
从暂存区中递归地移除所有文件。这个其实是“git add .”的相反操作。
git rm -r --cached .
提交到本地版本库:
git commit -m "这是备注"
查看提交提示:
git log //出现分页的时候,按q退出。
git log --oneline
git log <48位版本id或tagname> 查询目标版本及之前的所有记录。
修改和删除文件和新增文件的过程是一样的,都需要add、commit。
工作区中误删除文件之后,还没提交删除时,从版本库中恢复文件,点好表示恢复所有上次提交的文件到工作区。点号可换成特定的文件名。
git restore .
工作区中误删除文件之后,已经提交删除的话,可以重置版本库。这样操作,reset的目标版之后的提交记录就没有了。
git reset --hard <这里输入要重置的目标版本的id,就是通过git log查出来的48位sha-1码>
恢复工作区文件到删除之前那一版的状态,同时保留删除文件的提交:
git revert <删除文件提交的版本记录id>

分支操作:
查看所有分支和当前分支,如果是刚创建的仓库,用这个命令查看不到main分支,需要先提交1次后,再用这个命令才可以查看到当前的main分支。
git branch
git branch -v
创建分支,同样需要先提交至少1次后才能创建,新建的分支默认指向当前所在分支的最新提交版本。
git branch feature_1
切换到某个分支:
git switch feature_1
创建并切换到新分支,这里使用switch不行。
git checkout -b branchname
修改分支的指向,使其指向main最新提交的版本。不会切换到该分支,也不会影响工作目录和暂存区的内容。
git branch -f <target_branch> main
据说下边这个命令也可以实现修改分支的指向,但它会覆盖目标分支上未提交的修改,可能导致数据丢失。
git reset --hard main
删除分支,方法1。-d 选项会检查该分支是否已经合并到当前分支或 HEAD 指向的分支,如果没有合并,Git 会拒绝删除并给出提示。
git branch -d <branch_name>
删除分支,方法2。如果你确定要删除某个分支,即使它的修改还未合并,也可以使用 -D 选项强制删除。使用此选项需谨慎,因为这可能会导致未合并的修改丢失。
git branch -D <branch_name>
另,根据经验,应该不能删除当前所在的分支。
若要删除远程仓库中的分支,可以使用git push命令。
git push <remote_name 比如 origin> --delete <branch_name>

合并分支:
为了避免合并时出现冲突,在合并之前要保证主分支是最新状态。可以使用 git pull 命令从远程仓库拉取最新的代码,将本地的主分支更新到最新:
git pull origin main
合并:
git branch main
git merge feature_1
解决合并冲突:
按照合并冲突的提示,找到冲突文件,解决冲突代码,然后:
git add .
git commit -m "解决冲突合并"

标签:
增加标签:
git tag <tagname> <48位版本id>
根绝标签查询提交版本的记录:
git log <tagname>
删除标签:
git tag -d <tagname>

远程操作:
配置gitee的ssh公钥:
仓库远程地址设置为git@gitee.com:xxx/xxx.git的格式的时候,需要在远程仓库代码页面的“克隆/下载”那,进入后选择SSH,然后按照步骤设置一下SSH。如果不配置ssh,那么push的时候需要输入gitee的账号密码。
拉取某个分支:
git pull origin
git pull origin <远程分支名>
git pull origin main
推送到远程仓库:
git push origin
git push <remote_name> <本地分支名>:<远程分支名>
git push origin main:main
堆内存
多线程
strdup
初始化器
冒泡排序
增删改查
BufferedReader
输入输出
面向对象
生命周期
闭包的概念
原型链
Flask
mysql-connector-python
单例模式
浅拷贝
隔离级别
索引
InnoDB
左连接
聚合函数
PuTTY
TRUNCATE
str_starts_with_many
DateTime
array_combine
闭包的概念