git使用总结

安装

sudo apt-get install git

创建仓库

方法1:

mkdir mygit
cd mygit
git init

方法2:

在服务器创建仓库,并克隆到本地

git clone xxxx/mygit.git
cd mygit

文件的基本操作

  • 提交代码

    git status
    git add .
    git commit -m "message"
    

    将add和commit合并:

    git commit -a -m "message"
    

    需要注意的是,这里add的只是已经建立过跟踪的文件,对于新增的文件尚未建立跟踪关系,这里不会进行add。
    修改提交信息:

    git commit --amend  # 修改commit信息
    

    如果只有这一条命令,则是修改距离最近提交的信息

  • 查看历史记录

    git log
    
  • 回退历史版本

    git reset 
    git reset --hard HEAD^ # 回退到上一版本
    

    git的版本号是用SHA1计算出来的一个16进制数, 在git中,用HEAD表示当前版本,上一个版本是HEAD^, 上上个版本是HEAD^^, 查看历史版本

    git reflog
    

    根据版本号回退版本

    git reset --hard 3f30f0e
    

    回退版本但却想保留全部修改信息

    git reset --soft <回退版本号>
    
  • 工作区和暂存区处理文件

    工作区就是本地一个文件夹,暂存区是本地和服务器的中介,可以理解为本地的一个.git文件目录,暂存文件修改日志,方便用于回退版本

    git add操作就是用于将需要提交的文件添加到暂存区,git commit就是将暂存区的所有内容提交到服务器当前分支

    • 查看工作区和暂存区的最新版本的区别:

      git diff HEAD -- <filename>
      
    • 撤销修改, 让这个文件回到最近一次git commitgit add时的状态。

      git checkout -- <filename>
      
    • 从暂存区删除文件

      git rm <filename>
      
    • 删错恢复, 用暂存区的文件替代工作区的

      git checkout -- <filename>
      

分支管理

每次提交,Git都把它们串成一条时间线,这条时间线就是一个分支。截止到目前,只有一条时间线,在Git里,这个分支叫主分支,即master分支。HEAD严格来说不是指向提交,而是指向mastermaster才是指向提交的,所以,HEAD指向的就是当前分支。

  • 创建分支

    git branch <name>
    
  • 切换分支

    git checkout <name>
    git checkout -b <name> # 表示创建新的分支并切换到分支内
    
  • 查看分支

    git branch  # 查看当前分支
    git branch -a # 显示所有分支,*表示自己所在的分支
    
  • 合并分支

    git merge <name>
    
  • 删除分支

    git branch -d <name>
    
  • 解决分支合并冲突

    • 两个分支修改的是同一个文件, 必须手动解决冲突

      git status # 查看冲突的文件
      cat <filename> # 查看冲突文件的内容并进行修改
      git add <filename>
      
      git log --graph --pretty=oneline --abbrev-commit # 分支合并情况、分支合并图
      
  • 分支策略

    master分支是最稳定的,只能用于发布新版本,平时不能在上面进行开发,要在新建的分支上进行开发,比如dev,这时dev是不稳定的,到产品1.0发布时,将dev分支和master分支合并,在master分支上发布1.0版本。

  • 查看远程库的信息

    git remote 
    git remote -v
    
  • 推送分支

    git push origin master
    
  • 抓取分支

    git pull
    

    如果git pull报错:没有指定本地分支与远程分支的链接,我们就要手动设置一下

    git branch --set-upstream-to=origin/<远程分支名> 本地分支名
    
  • 创建本地分支并建立与主分支的跟踪关系

    git chenckout -b <本地分支名>
    git branch --set-upstream-to=<远程主机名>/<远程分支名> <本地分支名>
    
    • 查看跟踪关系

      git branch -vv
      
    • push 的时候建立追踪关系

      git push -u <远程主机名> <本地分支名> # -u参数建立了远程主机名和本地分支名的关系
      
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值