2021-08-08 21:55阅读: 117评论: 0推荐: 0

常用的Git命令

git使用

1. 基本信息设置

  • 基本流程
    git过程

  • 设置用户名、用户邮箱
    git config --global user.name "xxxx"
    git config --global user.email "xxxx@163.com"

  • 查询当前设置信息: git config --list

  • 若要通过SHH进行工作,需要配置SSH,或者选择https(要求登录github)

    • 查看自己是否已经有了密钥,一般放在在目录 ~/.ssh
      • id_rsa.pub 为公钥, id_rsa 为私钥,若没有需要按下面生成
    • 生成密钥 ssh-keygen -t rsa -C "xxx@mail.com"
    • 查看公钥 cat ~/.ssh/id_rsa.pub
    • 测试链接 ssh git@github.com

2. 初始化仓库

  • 创建一个放所有仓库的文件夹
  • 进入文件夹里,初始化仓库: git init

3. 本地仓库常用命令

  • 从远程获取代码并合并本地的版本: git pull
  • 查看仓库状态(新增的或者修改的文件): git status
  • 添加文件到暂存区: git add filename ,或者所有文件: git add .
  • 丢弃工作区的改动: git restore filename 或者 git restore .
    • --staged filename/. 以取消暂存
  • 将暂存区内容添加到本地仓库: git commit -m "描述信息"
    • 撤销此次提交: git reset --soft HEAD^
      • --soft 仅撤销对本地仓库的提交
      • --hard 撤销工作区、暂存区、本地仓库的改动代码,加上id用来回退到历史版本
      • HEAD^ = HEAD~1 上一次的commit,上两次提交 HEAD~2
    • 仅修改最近一次提交的描述信息 git commit --amend
  • 将文件从暂存区和工作区中删除 git rm filename
    • 如果删除之前修改过并且已经放到暂存区域的话,则必须要用强制删除选项 -f
    • 如果想把文件从暂存区域移除,但仍然希望保留在工作区中,--cached 选项。
  • 查看历史提交历史:git log
    • --oneline 查看历史记录的简洁的版本
    • --graph 查看历史中什么时候出现了分支、合并
    • --reverse 参数来逆向显示所有日志
  • 查看指定文件的修改记录: git blame filename

4. 远程仓库常用命令

  • 克隆仓库: git clone 地址
    • 进入仓库目录后,显示仓库信息: git remote -v 。 其中origin 为远程地址的别名。
  • 显示某个远程仓库的信息:git remote show 地址
  • 本地仓库同步到远程仓库:git push
    • -f 强制提交,强制变成本地仓库内容,HEAD所在节点

分支管理

  • 列出本地仓库的所有分支: git branch
    • -r 命令查看远端库的分支情况
  • 创建分支: git branch branchname
    • -b 创建新分支并立即切换到该分支下
    • --set-upstream origin branchname 建立本地到远端仓库该分支的链接,这样代码才能提交上去
  • 切换分支命令: git checkout branchname
  • 删除分支
    • 删除本地仓库中分支 git branch -d branchname
    • 删除云端仓库分支: git push origin :branchname ,其中 : 代表删除。该命令会同时删除本地仓库的分支
  • 将分支合并到所在分支: git merge branchname
    • --squash 不合并提交记录

5. 参与开源项目

  • 先fork项目,再pull requst,让原仓库接受自己的代码,即可完成开源贡献
  • fork的项目保持最新(同步原仓库)
    • 把别人的仓库添加到你的上游远程 git remote add upstream 原仓库地址 , upstream 是取的别名
      • 查看remote配置信息 git remote -v 其中 origin 是自己的,upstream 是原仓库的
    • 获取原作者的仓库 git fetch upstream
      • 切换到自己想要合并的分支 git checkout branchname
      • 可以直接 git pull upstream branchname ,会直接合并到所在分支,省略下面一步
    • 合并源仓库某一分支到当前分支 git merge upstream branchname
    • 最后再 git push 提交到自己的远程仓库

场景模拟

  1. 存在如下提交场景,要求从f提交点新建dev分支,再提交g。即从某次提交拉取分支。
copy
  • 1
  • 2
  • 3
a -> b -> c -> f -> i (master) \ g (dev)
  • 步骤:
    • 切换分支到master:git checkout master
    • 找到f的commit_id:git log --oneline
    • 切换到f位置: git checkout commit_id , 'detached HEAD' state。
    • 创建并切换分支:git checkout -b dev
      • 等同于 git branch devgit checkout dev 作用
    • 同步到远程仓库 git push -u origin dev

本文作者:oniisan

本文链接:https://www.cnblogs.com/oniisan/p/usegit.html

版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。

posted @   Oniisan_Rui  阅读(117)  评论(0编辑  收藏  举报
💬
评论
📌
收藏
💗
关注
👍
推荐
🚀
回顶
收起
点击右上角即可分享
微信分享提示