Git常用命令

以下为本人在项目中常用到的Git命令
1.切换并创建分支

git checkout -b dev

2.查看当前分支

git branch

3.查看当前文件内容

cat one.js

4.添加文件到缓存区

git add one.js  //或者写		git add .

5.往当前分支上添加内容

 git commit -m '向当前分支上添加了one.js文件'

6.切换回master分支

git checkout master

7.在主分支(master)上合并dev分支上的内容

git merge dev
git push
如果出现让填写merge信息时,按照一下操作步骤:
1.输入字母:i
2.修改黄色文字,也可以不修改
3.按下键盘:esc
4.输入:‘:wq’
5.回车

8.在合并完分支后删除dev分支

git branch -d dev

9.查看本地操作信息

git reflog --date=iso
  1. 通常合并分支时,git一般使用”Fast forward”模式,在这种模式下,删除分支后,
    会丢掉分支信息,我们使用带参数 –no-ff来禁用”Fast forward”模式。
git merge --no-ff -m '你的注释' dev

11.查看远程库的信息

git remote

12.查看远程库的详细信息

git remote –v

13.推送分支就是把该分支上所有本地提交到远程库中

 git push origin master

14.删除远程的git分支

 git push origin --delete ‘你要删除的远程分支名称’

15.查看本地和远程的所有分支

git branch -a

16.版本回退

git reset --hard HEAD^

17.获取到了每次修改的版本号

git log –pretty=oneline

18.推送所有分支到远程仓库

git push [remote] --all

19.远程仓库和本地仓库进行关联

git remote add origin ‘你的git地址’

20.拉取远程库的代码并合并

git pull --rebase origin master

21.由于新建的远程仓库是空的,
所以要加上-u这个参数(推送本地到远程)

git push -u origin master

22.将远程的dev分支到本地文件夹里

git checkout –b dev origin/dev

23.指定本地dev分支与远程origin/dev分支的链接,
再拉取分支上的代码

git branch --set-upstream-to=origin/dev

24.将最新提交的代码从远程分支上抓下来(当前分支)

git pull

25.修改远程仓库地址

git remote set-url origin ‘URL’

26.(1)想删掉它又担心以后需要查看它的代码,想保存它但又不想增加一个脏的提交(git储藏)

git stash  

26.(2)恢复被隐藏的文件

git stash apply

27.全局修改用户名,邮箱

git config --global user.name “用户名” 
git config --global user.email “邮箱地址”

28.局部修改用户名,邮箱

git config user.name  "username" 
git config user.email "email"   

29.查看git用户名或者邮箱

git config user.email   git config user.name

30.查看git配置

git config --list

31.当存在多个相同值时 比如存在两个name,那么想要再次全局修改name值时 会报错,解决方法如下

git config --global --replace-all user.name  '用户名'

32.更新出远程分支索引

git fetch

33.创建ssh

ssh-keygen -t rsa -C "your_email@example.com"  
//邮箱很重要,如果你拉取的代码要验证邮箱,那么填写的邮箱信息会存在ssh中

34.不小心点了git add . 怎么办?

1. git restore --staged <file> 恢复指定文件
2. git restore --staged . 恢复所有已经add的文件
3. git restore -s HEAD~1 <file>  将版本回退到当前缓存的前一个版本
4. git restore -s <id> <file>   指定明确的 commit id ,回退到指定的缓存中
5. git reset --soft HEAD^  // 回到上一次 提交 的版本
  1. 关于变基
在 Git 中整合来自不同分支的修改主要有两种方法:git merge 以及 git rebase。
引用说明:首先要理解这个base,base也就是基础的意思,当我们从代码分支上获取
代码的时候,我们就有了一个基础,也就是base,此后的修改我们都是在这个基础之
上进行的,但是当我们需要提交修改的时候,遇到了别人的代码,变基这个操作就是
在这个时候,我们不去合并别人的代码,而是直接把我们原先的基础变掉,变成以别
人修改过后的新代码为基础,把我们的修改在这个新的基础之上重新进行。基础变掉
了,所以叫作变基.
变基的好处是:可以让提交代码的时间线变的很干净,不用合并别人的代码,而是在别人的代码基础上增加自己的代码,多人协作,用处多多,不会产生太多的冲突。
关于自动编辑:
git config --global pull.rebase true
git config --global rebase.autoStash true
第一个命令表示,每次拉取都使用变基拉去
第二个命令表示,每次变基前自动把当前工作区的内容缓存起来,变基之后在恢复出来,如果有冲突,则合并完冲突之后,执行一下git rebase --continue就好了,其它和
原先的用法没有任何区别。

  1. 关于.git文件特别大
从git上面克隆代码时,.git文件有时会非常大,这里面可能包含大部分对你无用的提交,所以只要保留最近的一次commit就好了
clone 的时候,可以指定深度,如下,为 1 即表示只克隆最近一次 commit.
git clone git://xxoo --depth 1
  1. 添加tag标记
// 打印所有标记
git tag
// 创建标记
git tag 1.0.6
// 删除标签
git tag -d 1.0.6
//推送标记
git push --tags
// 指定版本推送
git push 1.0.0
  1. git cherry-pick的作用:当我们需要在本地合入其他分支的提交时,如果我们不想对整个分支进行合并,而是只想将某一次提交合入到本地当前分支上,那么就要使用git cherry-pick了。它会获取某一个分支的单笔/多笔提交,并作为一个新的提交引入到你当前分支上。
//将指定的提交(commit)应用于其他分支
git cherry-pick <commitHash>
//git cherry-pick命令的参数,不一定是提交的哈希值,分支名也是可以的,表示转移该分支的最新提交。
git cherry-pick <分支名>
//Cherry pick 支持一次转移多个提交
git cherry-pick <HashA> <HashB>
//如果操作过程中发生代码冲突,Cherry pick 会停下来,让用户决定如何继续操作。用户解决代码冲突后,第一步将修改的文件重新加入暂存区(git add .),第二步使用下面的命令,让 Cherry pick 过程继续执行。
git cherry-pick --continue
//发生代码冲突后,放弃合并,回到操作前的样子。
git cherry-pick --abort

开始一个项目本人操作流程:

1.  git clone 'http://你的Git地址'
2. git pull pull  //拉去代码
3.  git add . //添加代码
4.  git commit -m '添加注释'
5.  git push
//假若遇到冲突,解决冲突后 重复上面步骤
<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`避免合并提交
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值