git 常用命令

本文详细介绍Git的基本使用方法,包括版本管理、远程仓库操作、分支管理等核心内容,并提供了丰富的示例帮助理解。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

git 从指定分支checkout 分支并推送到远程

git checkout -b backup origin/master
git push origin backup:backup
git push -u origin backup
git push origin backup

1.安装 git

yum install git

2.版本管理

  • 1.创建版本库
git init

2.添加文件到版本库

git add readme.txt
  • 3.把文件提交到版本库
git commit -m "comment"

3.仓库关联

  • 1.关联本地仓库到远程仓库
git remote add origin git@github.com:michaelliao/learngit.git
  • 2.1.第一次关联本地仓库到远程仓库
git push -u origin master
  • 2.2.之后推送
git push origin master

4.从远程仓库克隆

git clone git@github.com:michaelliao/gitskills.git

5.分支操作

  • 1.创建分支
git branch dev
  • 2.切换分支
git checkout dev
  • 3.创建并切换分支
git checkout -b dev
  • 4.查看分支
git branch
  • 5.合并分支
    • 1.切换到目标分支
    git checkout master
    
    • 2.合并制定分支到当前分支
    git merge dev
    
  • 6.删除分支
    • 1.正常删除
    git branch -d dev
    
    • 2.强制删除
    git branch -D dev
    

6.时光穿梭机

  • 1.查看git当前状态
1.查看git状态
git status
2.查看分支合并图
git log --graph --pretty=oneline --abbrev-commit


  • 2.查看修改 git diff
git diff readme.txt
  • 3.版本回退
    • 1.查看版本历史:从近到远
    全部信息
    git log
    简单信息
    git log --pretty=oneline
    
    • 2.回退到制定版本
    回退到上一个版本
    git reset --hard HEAD^
    回退到上上版本
    git reset --hard HEAD^^
    回退到指定 commid_id 版本:版本前几位即可
    git reset --hard 3628164
    
    • 3.查看执行过的 git 命令
    git reflog
    
    • 4.丢弃工作区的修改:-- 一定要加上
    git checkout -- readme.txt
    
    • 5.把暂存区的修改撤销掉,重新放回工作区
    git reset HEAD readme.txt
    
    • 6.删除文件
    1.移除文件
    git rm test.txt
    2.提交移除动作
    git commit -m "remove test.txt"
    
    • 7.恢复被删除的文件
    git checkout -- test.txt
    

7.bug 分支管理

  • 1.存储当前正在进行的修改
git stash
  • 2.切换到bug分支
git checkout master
  • 3.修复并提交bug分支,删除bug分支
1.新建 bug 分支:
git checkout -b issue-101
2.修改bug
vi readme.txt
3.提交修改
git add readme.txt
git commit -m "fix bug 101"
4.合并修改到主分支
git checkout master
git merge --no-ff -m "merge bug fix 101" issue-101
5.删除bug分支
git branch -d issue-101
  • 4.切换到工作分支
git checkout dev
  • 5.还原之前的修改
1.查看git状态
git status
2.查看驻存去
git stash list
3.回复驻存区域
3.1.恢复最近驻存并删除驻存
git stash pop
3.2.恢复驻存区
git stash apply stash@{0}
3.3.删除驻存区
git stash drop stash@{0}

8.远程分支查看

  • 查看远程信息:git remote
  • 查询远程分支详细信息:git remote -v(显示可以拉取和推送的分支)
  • 推送本地分支到远程分支
git push origin master/dev
  • 创建本地的远程分支的分支
 git checkout -b dev origin/dev
  • 更新最新提交,然后再推送
  • git pull
如果拉取失败:There is no tracking information for the current branch
建立本地和远程连接之间的对应关系
 git branch --set-upstream dev origin/dev
 再次拉取最新提交
 git pull

9.多人协作模式

  • 首先,可以试图用git push origin branch-name推送自己的修改;

  • 如果推送失败,则因为远程分支比你的本地更新,需要先用git pull试图合并;

  • 如果合并有冲突,则解决冲突,并在本地提交;

  • 没有冲突或者解决掉冲突后,再用git push origin branch-name推送就能成功!

如果git pull提示“no tracking information”,则说明本地分支和远程分支的链接关系没有创建,用命令git branch --set-upstream branch-name origin/branch-name。

10.标签管理

  • 1.为什么还要引入tag?

    • tag就是一个让人容易记住的有意义的名字,它跟某个commit绑在一起。
  • 2.打标签

    • 1.切换到要打标签的分支上
    git checkout master
    
    • 打标签
    1.默认在最新提交上打标签
    git tag v1.0
    2.在指定的提交上打标签
    2.1.找出提交的commit id
    git log --pretty=oneline --abbrev-commit
    2.2.打标签
    git tag v0.9 6224937
    3.创建带有说明的标签
    git tag -a v1.0 -m "version 0.1 release" 6224937
    
    
    • 查看所有标签
    git tag
    
    • 查看标签信息
    git show v0.9
    
  • 3.删除标签

    • 1.删除本地标签
    git tag -d v0.9
    
    • 2.删除远程标签
    1.删除本地
    git tag -d v0.9
    2.从远程删除
    git push origin :refs/tags/v0.9
    
  • 4.推送标签到远程

推送单个标签到远程
git push origin v1.0
推送所有标签到远程
git push origin --tags

11.使用多个远程分支

  • 关联本地分支到远程分支
1.关联本地分支到远程分支
git remote add origin git@gitee.com:liaoxuefeng/learngit.git
2.如果报错:已经关联其他远程分支了
git remote add origin git@gitee.com:liaoxuefeng/learngit.git
fatal: remote origin already exists.
3.删除已关联远程分支
git remote rm origin
4.再关联到远程分支
git remote add origin git@gitee.com:liaoxuefeng/learngit.git

  • 关联本地分支到多个远程分支
1.git 给远程分支默认起的名字叫 origin,如果使用多个分支那么需要给每个不同分支起不同的名字
2.删除远程分支
git remote rm origin
3.关联到github远程分支库:名字叫github
git remote add github git@github.com:michaelliao/learngit.git
4.关联分支到码云
git remote add gitee git@gitee.com:liaoxuefeng/learngit.git
5.查看远程仓库会看到2个仓库
git remote -v
6.如果要推送到 github
git push github master
7.推送都码云
git push gitee master

12.自定义 git

  • 1.让 git 显示颜色
git config --global color.ui true
  • 2.忽略特殊文件
    • 建立 .gitignore
    • 编写内容
    # Python:
    *.py[cod]
    *.so
    *.egg
    *.egg-info
    dist
    build
    
    • 供参考的 .gitignore 例子:https://github.com/github/gitignore
    • 把 .gitignore 提交到 git
    • 强制加入被忽略的文件
    git add -f App.class
    
    • 检查哪个规则忽略了指定文件
    git check-ignore -v App.class
    

13.配置别名–global:参数是全局参数,也就是这些命令在这台电脑的所有Git仓库下都有用

  • 1.git status 使用 git st
git config --global alias.st status

  • 2.git 默认缩写
co->checkout
ci->commit
br->branch

  • 3.unstage:撤销暂存区修改
git config --global alias.unstage 'reset HEAD'
  • 4.git last:显示最后提交信息
git config --global alias.last 'log -1'
  • 5.显示git提交历史的树
git config --global alias.lg "log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit"
  • 6.查看 git 配置文件(当前仓库,当前用户在用户主目录下的一个隐藏文件.gitconfig中)
cat .git/config 
[core]
    repositoryformatversion = 0
    filemode = true
    bare = false
    logallrefupdates = true
    ignorecase = true
    precomposeunicode = true
[remote "origin"]
    url = git@github.com:michaelliao/learngit.git
    fetch = +refs/heads/*:refs/remotes/origin/*
[branch "master"]
    remote = origin
    merge = refs/heads/master
[alias]
    last = log -1
  • 7.删除别名
直接把对应的.git/config中的 alias 里面的行删掉即可
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值