前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Git笔记

Git笔记

作者头像
_春华秋实
修改2023-08-28 20:31:17
4120
修改2023-08-28 20:31:17
举报
文章被收录于专栏:_春华秋实_春华秋实

常用Git命令

ssh 生成命令

Git配置

  配置级别:--local 项目级、--global 当前用户级、--system 系统级

  用户名和邮箱

$ git config --global user.name "runoob" $ git config --global user.email test@runoob.com

查看配置

$ git config --list $ git config user.name $ git --version

Git介绍

  Git是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。

远程仓库

本地仓库由 git 维护的三棵“树”组成。

第一个是你的 工作目录,它持有实际文件; 第二个是 暂存区(Index),它像个缓存区域,临时保存你的改动; 最后是 HEAD,它指向你最后一次提交的结果,可以改变HEAD指向其他版本。

Git使用

基础命令

  • $ git init
  • $ git clone
  • $ git add */*.txt/  git文件到暂存区
  • $ git status (-s)  显示工作区文件和缓存区的区别
  • $ git diff  执行 git diff 来查看执行 git status中->具体改动了什么?
  • $ git commit -m '第一次版本提交'  git 改变到版本库
  • $ git rm hello.php   将条目从缓存区和工作区中移除。
  • $ git mv README README.md  改名文件,并且将这个改名放入暂存区

撤销修改

  • $ git reset -soft -mixed -hard HEAD <file> 重置暂存区与工作区,与上一次commit保持一致。(如何撤销上次的 commit | git reset HEAD ~ 撤销上次的 commit ,从暂存移到工作区)git 取消commit (介绍了 reset 和)
  • $ git checkout -- [file] 恢复指定文件到工作区【恢复到最近的一次暂存区的状态,或初始工作区的状态】

分支管理

  • $ git branch  列出分支
  • $ git branch dev 创建 dev 分支
  • $ git checkout dev  切换到 dev 分支
  • $ git checkout -b master  创建并切换分支
  • $ git branch -d dev  删除
  • $ git merge (--no-ff -m "xxx") newtest  分支(newtest)合并到当前分支
  • $ git push origin (name)  将分支推送到远程

  标签管理

  • $ git tag <atgname> <commit id>   新建一个标签
  • $ git tag -a <tagname> -m "blablabla..." 指定标签信息
  • $ git tag  查看所有标签
  • $ git push origin <tagname> 可以推送一个本地标签;
  • $ git push origin --tags 可以推送全部未推送过的本地标签;
  • $ git tag -d <tagname> 可以删除一个本地标签;
  • $git push origin :refs/tags/<tagname> 可以删除一个远程标签。

查看提交历史

  • $ git log
  • $ git log --oneline (简洁版本) --graph (拓扑图结构)

版本回退

  • $ git reset --hard HEAD^  (版本号)回退到上个版本
  • $ git reset --hard[--keep] 3628164 回退到3628164,同时重置暂存区和工作区[保持暂存区和工作区不变]
  • $ git reflog  用来记录你的每一次命令(最新的命令在上面)。

忽略文件

  有些时候我们不想把某些文件纳入版本控制中,比如数据库文件,临时文件,设计文件等。

在主目录下建立".gitignore"文件,此文件有如下规则:

代码语言:javascript
复制
    1 #为注释
    2 *.txt #忽略所有 .txt结尾的文件
    3 !lib.txt #但lib.txt除外  
    4 /temp #仅忽略项目根目录下的TODO文件,不包括其它目录temp
    5 build/ #忽略build/目录下的所有文件
    6 doc/*.txt #会忽略 doc/notes.txt 但不包括 doc/server/arch.txt

Git 使用具体问题

本地仓库连接到某个远程服务器

  • git remote add origin <server>
  • git remote -v 查看远程仓库
  • git remote rm [name] 删除远程仓库
  • git add README.md
  • git push -u origin master 强制push的方法

Push到GitHub出错

  • git push -u origin master -f  使用强制push的方法,会使远程修改丢失,本地的 master 和远程的 master 相互关联。
  • git pull origin master 拉下来、然后解决冲突、git push -u origin master

什么时候使用git stash

git stash 可用来暂存当前正在进行的工作, 比如想pull 最新代码, 又不想加新commit, 或者另外一种情况,为了fix 一个紧急的bug, 先stash, 使返回到自己上一个commit, 改完bug之后再stash pop, 继续原来的工作。

  • $ git stash 将当前的工作区内容保存到Git栈中,并且工作区返回到刚提交后的状态。
  • $ git stash pop 从Git栈中恢复工作区的相关内容,并清空在栈中的保存信息。类似于(git stash apply 和 git stash drop)两条命令。
  • $ git stash clear: 清空Git栈。
  • $ git stash list 显示但钱 git 栈的信息

分支策略

  • master分支应该是非常稳定的,也就是仅用来发布新版本,平时不能在上面干活;
  • 那在哪干活呢?干活都在dev分支上,也就是说,dev分支是不稳定的,到某个时候,比如1.0版本发布时,再把dev分支合并到master上,在master分支发布1.0版本;
  • 你和你的小伙伴们每个人都在dev分支上干活,每个人都有自己的分支,时不时地往dev分支上合并就可以了。
  • 所以,团队合作的分支看起来就像这样:
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2017-07-26 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Git配置
  • Git介绍
  • Git使用
    • 基础命令
      • 撤销修改
        • 分支管理
          •   标签管理
            • 查看提交历史
              • 版本回退
                • 忽略文件
                • Git 使用具体问题
                领券
                问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档