git的使用 笔记1

GIT

git的使用
  • 使用git提交的两步
    • 第一步:是使用 git add 把文件添加进去,实际上就是把文件添加到暂存区。
    • 第二步:使用git commit提交更改,实际上就是把暂存区的所有内容提交到当前分支上。

.git 跟踪管理版本的目录

创建版本库
  • 创建版本库
    • mkdir test
  • 进入目录
    • cd test
  • 显示当前目录
    • pwd
  • 通过命令把这个目录变成git可以管理的仓库
    • git init
  • 新建一个记事本文件使用命令将其添加到暂存区里面去
    • git add read.txt
  • 提交到仓库
    • git commit -m '提交read.txt'
    • 提交read.txt 提交注释
  • 通过命令git status来查看是否还有文件未提交
    • git status
  • 查看文件改了什么内容
    • git diff read.txt
  • 查看历史记录
    • git log
    • git log ---pretty=oneline 信息显示太多的话
版本回退
  • 回退版本
    • 回退上一个版本
      • git reset --hard HEAD^
    • 回退上上一个版本
      • git reset --hard HEAD^^
    • 回退前一百个版本
      • git reset --hard HEAD~100
  • 查看记事本内容
    • cat read.txt
  • 回退到最新版本
    • 查看之前的版本号
      • git reflog
    • 6fcfc89 版本号
      • git reset --hard 6fcfc89
Git撤销修改和删除文件操作
  • 撤销修改--未添加到暂存区
    • git checkout -- read.txt
  • 撤销修改--添加到暂存区
    • git checkout -- read.txt
  • 删除文件
    • rm read.txt
  • 恢复删除的文件
    • git checkout -- read.txt
远程仓库
  • 第一步:创建SSH Key。在用户主目录下,看看有没有.ssh目录,如果有,再看看这个目录下有没有id_rsa和id_rsa.pub这两个文件,如果有的话,直接跳过此如下命令,如果没有的话,打开命令行,输入如下命令
    ssh-keygen -t rsa --C "youremail@example.com"
    • id_rsa是私钥,不能泄露出去,id_rsa.pub是公钥,可以放心地告诉任何人
  • 第二步:登录github,打开" settings"中的SSH Keys页面,然后点击"Add SSH Key",填上任意title,在Key文本框里黏贴id_rsa.pub文件的内容,点击 Add Key,你就应该可以看到已经添加的key
添加远程库

我们已经在本地创建了一个Git仓库后,又想在github创建一个Git仓库,并且希望这两个仓库进行远程同步,这样github的仓库可以作为备份,又可以其他人通过该仓库来协作。

  • 登录github上,然后在右上角找到"create a new repo"创建一个新的仓库。
  • 在Repository name填入testgit,其他保持默认设置,点击"Create repository"按钮,就成功地创建了一个新的Git仓库
  • git remote add origin https://github.com/tugenhua0707/test.git
  • git push -u origin master 本地仓库分支master内容推送到远程库中
    • 由于远程库是空的,我们第一次推送master分支时,加上了 --u参数,Git不但会把本地的master分支内容推送的远程新的master分支,还会把本地的master分支和远程的master分支关联起来,在以后的推送或者拉取时就可以简化命令。
  • git push origin master 把本地master分支的最新修改推送到github上
远程库克隆
创建与合并分支
  • 创建dev分支,然后切换到dev分支上
    • git checkout -b dev
    • git checkout 命令加上 --b参数表示创建并切换,相当于如下2条命令
      • git branch dev
      • git checkout dev
    • git branch 查看分支,会列出所有的分支,当前分支前面会添加一个星号。
  • git merge 合并
    • git merge dev dev分支上的内容合并到分支master上(在master上输入命令)
    • git merge --no-ff -m "注释" dev
  • 分支管理策略
    • 通常合并分支时,git一般使用"Fast forward"模式,在这种模式下,删除分支后,会丢掉分支信息,现在我们来使用带参数 --no-ff来禁用"Fast forward"模式
  • 删除分支
    • git branch -d dev
  • 总结创建与合并分支命令
    • 查看分支:git branch
    • 创建分支:git branch name
    • 切换分支:git checkout name
    • 创建+切换分支:git checkout --b name
    • 合并某分支到当前分支:git merge name
    • 删除分支:git branch --d name
解决冲突
  • bug分支
    • git stash 将当前的工作现场隐藏起来
    • git stash list 查看工作现场
    • git stash apply 恢复 恢复后,stash内容并不删除
    • git stash drop stash内容删除
    • git stash pop 恢复的同时把stash内容也删除了
多人协作
  • 要查看远程库的信息 使用 git remote
  • 要查看远程库的详细信息 使用 git remote --v
  • git push origin master 推送分支
  • git pull
  • 可以试图用git push origin branch-name推送自己的修改.
  • 如果推送失败,则因为远程分支比你的本地更新早,需要先用git pull试图合并。
  • 如果合并有冲突,则需要解决冲突,并在本地提交。再用git push origin branch-name推送
相关推荐
m0_6896182811 小时前
水凝胶发生器,不对称设计妙,医电应用前景广
笔记
Ace'11 小时前
每日一题&&学习笔记
笔记·学习
挥剑决浮云 -11 小时前
Linux 之 安装软件、GCC编译器、Linux 操作系统基础
linux·服务器·c语言·c++·经验分享·笔记
新晓·故知12 小时前
<基于递归实现线索二叉树的构造及遍历算法探讨>
数据结构·经验分享·笔记·算法·链表
魔理沙偷走了BUG12 小时前
【数学分析笔记】第4章第4节 复合函数求导法则及其应用(3)
笔记·数学分析
NuyoahC14 小时前
算法笔记(十一)——优先级队列(堆)
c++·笔记·算法·优先级队列
这可就有点麻烦了15 小时前
强化学习笔记之【TD3算法】
linux·笔记·算法·机器学习
Ljubim.te17 小时前
软件设计师——数据结构
数据结构·笔记
speop19 小时前
【笔记】I/O总结王道强化视频笔记
笔记·音视频