git 常用命令

GitLab和GitHub都是流行的Git代码管理平台,主要区别在于私有仓库的费用和安全性。GitHub的私有仓库需付费,而GitLab提供免费的私有仓库。此外,GitLab支持企业自建服务器,提供更高级别的数据安全和权限管理。对于重视代码安全的企业和个人,GitLab是更优选择。操作上,两者类似,包括创建项目、推送、克隆等流程。

选择github还是 gitlab

1.github,和gitlab都是基于git开发的管理代码的软件。
2.github的登录网站:https://github.com/
  gitlab的登录网站:https://gitlab.com/users/sign_in
 这两官网,分别是各自一个公司开发的(看网址域名就能看出来,域名是唯一的,每个服务器对应只能申请一个域名)。账号可以通用。
3.如果只单纯在这两个网站创建账号并创建项目,最大的区别是:github选择新建项目为私人时需要收费而gitlab选择新建项目为私人时不需要收费
4.目前,github只支持搭建本地服务器的个人github,只能供个人使用。 
 而gitlab提供开源代码,支持企业自己用企业买的服务器搭建企业gitlab,供公司所有人使用。
5.虽然两个公司都提供了私人仓库的功能供个人和企业用户使用,即使两个公司的数据库很安全,但是很多公司是采用内网进行办公和传输数据, 如果通过内网和外网这两个公司服务器进行代码和相关敏感数据的传输,传输途中容易被不法分子获取到数据,从而造成数据泄露。 
 因为很多公司都格外重视自己的代码成果,所以目前主流都是公司用自己买的服务器去搭建公司内部使用的gitlab,且gitlab支持一些插件写入自己的服务器脚本,从而可以设置公司每位成员的文件使用权限(具体是哪种插件忘了,之前有百度到但忘保存链接了),从而确保公司项目代码的最大程度的保密和安全!!

6.如果个人写的代码很厉害,有商业价值,不想让别人看到,又怕代码数据泄露,就务必得选择gitlab,因为gitlab可以搭建公司/个人的服务器,存储数据安全,如果是公司团队开发的代码,务必只能选择gitlab,搭建公司个人的gitlab服务,才能确保数据安全
  总结:所以建议使用gitlab即可 
  我以github为例。。。

在远程创建项目 获得仓库地址。//eg: https://github.com/***.git
$ git init   创建版本库 创建Git版本库时,Git自动为我们创建了唯一一个master分支
$ git status  查看工作去状态(包括被修改,冲突等...)
$ git  diff    状态中被修改了就可以查看被修改的内容
$ git log(以前日志)/reflog(以后日志)
$ git reset --hard(自当前版本) commit_id(要到的版本id)
//由于远程库是空的,我们第一次推送master分支时,加上了-u参数,
//Git不但会把本地的master分支内容推送的远程新的master分支,
//还会把本地的master分支和远程的master分支关联起来,
// 在以后的推送或者拉取时就可以简化命令。 
$ git push(推送) -u(第一次时加) origin(远程) master (分支)
$ git push origin master
$ git add 文件名// 把文件添加进去,实际上就是把文件修改添加到 暂存区;//本地的
$ git add ./-A // 警告git config --global core.autocrlf false
$ git commit -m '注释'    提交更改,实际上就是把暂存区的所有内容提交到当前分支。//将暂存区内容存储到历史区
//第一次修改 -> git add -> 第二次修改 -> git add -> git commit->master分支
$ git remote -v//查看本地仓库与那些远程仓库的链接
$ git remote add origin 仓库地址 (本地与远程相连)
//$ git branch命令会列出所有分支,当前分支前面会标一个*号。
//master分支是主分支,因此要时刻与远程同步;
//dev分支是开发分支,团队所有成员都需要在上面工作,所以也需要与远程同步;
将项目推到github:
	git init
	git add README.md
	git commit -m "first commit"
	git remote add origin https://github.com/**.git
	git push -u origin master
将远程项目clone到本地:
	$ git clone git@github.com:michaelliao/gitskills.git(git地址,可以支持http协议)

查看远程所有分支:git branch -a
$ git checkout  切换到某分支;例如  $ git checkout master  切换到主分支
$git checkout -b 新建并切换到新建的分支上;例如 $git checkout -b newbranch 

切换分支:
	0.git checkout -b 分支名 origin/分支名
		eg:git远程仓库拉取dev分支,但是操作失败,提示操作出错。
		fatal: 'origin/dev' is not a commit and a branch 'dev' 					cannot be created from it
	1.首先要确定你在远程仓库是否创建成功dev分支
	2.git branch -a
	3.输入这个命令后查看远程所有的分支,检查你所需要下拉的分支是否已经在远程仓库底下。
	4.如果分支已经创立好了,而执行还是同样的错误,那么就需要从git上重新拉取数据然后再创建远程分支到本地
	5.git pull
	6.git checkout -b 分支名 origin/分支名
创建分支:
	1.创建本地分支
	git branch 分支名
	2.切换本地分支
	git checkout 分支名
	3.远程分支就是本地分支push到服务器上。比如master就是一个最典型的远程分支(默认)
	git push origin 分支名
	4.删除分支
	git push origin --delete 分支名
<think>我们被要求生成一个关于Git常用命令的汇总列表。根据用户的要求,我们需要提供结构清晰的回答,并尽量保证真实可靠。同时,我们参考了站内引用中提供的Git命令信息。根据引用内容,我们可以整理出以下常用命令:1.基本操作(初始化、添加、提交等)2.分支管理3.远程仓库操作4.标签管理5.历史看与撤销6.其他实用命令(如删除大文件、清理仓库等)我们将按照这些类别来组织命令。注意:由于引用中提供了一些特定问题的解决方案(如删除大文件),我们也会将其作为实用命令的一部分。另外,注意用户要求使用中文回答,并且行内数学表达式使用$...$格式(但本问题不涉及数学表达式,所以忽略),独立公式使用$$...$$格式(同样不涉及)。同时,在回答末尾生成相关问题。我们开始整理Git常用命令汇总:</think>### Git常用命令汇总 以下是Git常用命令分类整理,帮助您高效管理代码版本: #### 1. 仓库初始化与基础操作 ```bash # 初始化新仓库 $ git init # 克隆远程仓库 $ git clone <远程仓库URL> # 看当前状态 $ git status # 添加文件到暂存区 $ git add <文件名> # 添加单个文件 $ git add . # 添加所有修改 # 提交更改 $ git commit -m "提交说明" ``` #### 2. 分支管理 ```bash # 创建分支 $ git branch <新分支名> # 切换分支 $ git checkout <分支名> $ git switch <分支名> # Git 2.23+推荐方式 # 创建并切换分支 $ git checkout -b <新分支名> $ git switch -c <新分支名> # 合并分支 $ git merge <要合并的分支名> # 删除分支 $ git branch -d <分支名> # 安全删除 $ git branch -D <分支名> # 强制删除未合并分支 ``` #### 3. 远程仓库操作 ```bash # 添加远程仓库 $ git remote add origin <远程仓库URL> # 看远程仓库 $ git remote -v # 推送到远程仓库 $ git push -u origin <分支名> # 首次推送 $ git push # 后续推送 # 拉取远程更新 $ git pull origin <分支名> $ git pull --rebase origin <分支名> # 变基式拉取 # 删除远程连接 $ git remote rm origin ``` #### 4. 版本回退与撤销 ```bash # 看提交历史 $ git log $ git log --oneline # 简洁版日志 # 撤销工作区修改 $ git checkout -- <文件名> # 撤销暂存区文件 $ git reset HEAD <文件名> # 版本回退 $ git reset --hard <commit_id> # 彻底回退 $ git reset --soft <commit_id> # 保留修改 # 恢复删除的文件 $ git restore <文件名> # Git 2.23+ ``` #### 5. 标签管理 ```bash # 看标签 $ git tag # 创建标签 $ git tag <标签名> # 轻量标签 $ git tag -a v1.0 -m "版本说明" # 附注标签 # 推送标签 $ git push origin <标签名> # 删除标签 $ git tag -d <标签名> # 本地删除 $ git push origin :refs/tags/<标签名> # 远程删除 ``` #### 6. 高级维护 ```bash # 清理历史大文件 $ git filter-branch --force --index-filter \ 'git rm -rf --cached --ignore-unmatch <文件名>' \ --prune-empty --tag-name-filter cat -- --all # 回收存储空间 $ git reflog expire --expire=now --all $ git gc --prune=now # 看仓库大小 $ git count-objects -vH ``` #### 7. 配置相关 ```bash # 设置用户名/邮箱 $ git config --global user.name "用户名" $ git config --global user.email "邮箱" # 看配置 $ git config --list # 设置默认编辑器 $ git config --global core.editor vim ``` > **最佳实践提示**: > 1. 频繁提交小变更,保持提交记录清晰 > 2. 使用`.gitignore`文件排除无需版本控制的文件 > 3. 重要分支(如main/prod)设置保护规则 > 4. 推送前先执行`git pull --rebase`避免合并提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值