美文网首页
git 常用命令 01

git 常用命令 01

作者: QXPLUS | 来源:发表于2021-12-15 22:39 被阅读0次

    1. 进入git 终端

    找到需要上传到github/gitlab 的文件所在文件夹,鼠标右键 "git bash here",进入git 终端

    2. 绑定用户

    git config --global user.name "your name"
    git config --global user.email "your email@163.com"

    git config -l 可以查看配置信息

    3.设置SSH key

    3.1 生成密钥

    ssh-keygen -t rsa -C "your email@163.com"

    3.2 去提示的路径下的.ssh文件夹下找到 id_rsa.pub,打开id_rsa.pub,复制所有内容

    3.3 打开你的Github - Setting - SSH keys - 点击Add SSH key - 粘贴id_rsa.pub内的内容,保存即可。

    4.打开Github, 创建一个仓库,就可以将本地的文件上传到仓库了。

    Git 本地仓库的三大区域:工作区、暂存区、版本区

    4.1 将本地文件上传到远程仓库

    git init

    • git status # 查看当前文件状态,有修改,但未添加到缓存 时显示为红色,git add 之后显示为绿色
    • git add . # 添加修改到暂存区
      如果要撤销暂存区的修改:git reset -- [文件名]或者 git rm --cached [文件名] 命令
    • git remote add origin https://github.com/XXX/text.git # 连接远程仓库
    • git branch -a # 查看分支,*表示当前本地分支
    • git branch -vv # 查看当前本地分支指向远程仓库的分支
    • git branch –D 分支名 # 删除本地未合并的分支
    • git push origin –delete 分支名#要删除服务器远端的分支,则执行如下所示的命令:

    当前本地分支与其指向的远程仓库分支一致时才可以将本地git缓存提交到远程仓库

    • git checkout 分支名 # 但分支不一致时,需要切换到指定分支

    • git checkout -b 分支名 # 创建一个新的本地分支

    • git commit -m "commit log" 把暂存区的修改提交到版本区,生成一个新的版本

    当有多个commit时,如果不需要太多commit的记录,可以合并commit记录
    关于查看提交历史记录的命令,有些常用的选项介绍一下:

    git log [分支名] 查看某分支的提交历史,不写分支名查看当前所在分支
    git log --oneline 一行显示提交历史
    git log -n 其中 n 是数字,查看最近 n 个提交
    git log --author [贡献者名字] 查看指定贡献者的提交记录
    git log --graph 图示法显示提交历史

    • git log # 用来查看版本区的提交(commit)历史记录
    • git rebase -i HEAD~N # 合并前N个commit记录

      squash:将该commit和前一个commit合并(缩写:s)
      - pick:保留该commit(缩写:p)
      - reword:保留该commit,但我需要修改该commit的注释(缩写:r)
      - edit:保留该commit, 但我要停下来修改该提交(不仅仅修改注释)(缩写:e)
      - fixup:将该commit和前一个commit合并,但我不要保留该提交的注释信息(缩写:f)
      - exec:执行shell命令(缩写:x)
      - drop:我要丢弃该commit(缩写:d)

    提交命令之后会进入修改界面,将需要删除的commit 的前面的 pick,修改为s,删除相应的log, 保存文件

    • git log # 这时就只剩下修改后的commit记录了,

    • git push # 将本地新增的提交推送到 (GitHub) 远程仓库中

    • git push -f # git rebase 之后通常git push会报错,需要强制推送

    4.2 在另一台电脑开始工作

    • git pull # 首先将远程仓库的最新代码更新到本地

    本地修改………………
    git status
    git add .
    git status
    git commit -m"XXX"
    git push
    新的一天搬砖结束 ………………

    4.3 版本回退

    如果发现 文件内容有误,怎么做?可以修改此文件然后再次添加到暂存区、提交、推送,也可以撤销最近一次提交,修改文件后重新提交推送。

    git reset --soft HEAD^ 撤销最近的一次提交,将修改还原到暂存区

    HEAD^ 表示撤销一次提交
    HEAD^^ 表示撤销两次提交
    撤销 n 次可以简写为 HEAD~n

    4.4 本地仓库 commit 变化记录

    假设此时发现情况不对,之前的那次版本号为 5c04 的提交是正确的,刚才的版本回退操作全都是误操作,怎么办?再次执行一次版本回退吗?当然不需要啦,我们有 git reflog 命令,它会记录本地仓库所有分支的每一次版本变化。实际上只要本地仓库不被删除,随你怎么折腾,都能回退到任何地方。reflog 记录只存在于本地仓库中,本地仓库删除后,记录消失。

    本地仓库 commit 变化记录
    git reset --hard [版本号] 回退到 5c04 那个版本

    4.5 其他命令

    • git diff 查看工作区被跟踪的文件的修改详情(只有在版本区中存在的文件才是被跟踪文件)
    • git diff --cached 查看暂存区的全部修改
    • git log 查看提交记录, 十六进制序列号就是提交版本号,这是很重要的信息,每个提交都有自己单独的版本号
      git log
    • git branch -avv 查看全部分支信息
      推送前

    上图有三行信息,依次说明:
    第一行,开头的星号表示当前所在分支,绿色的 master 是分支名,之所以是绿色,也是因为它是当前所在分支。后面第二项是版本号,第三项中括号里面蓝色的字,表示此分支跟踪的远程分支的名字,当然啦,这也是克隆远程仓库到本地时的默认设置 -- 创建 master 分支并自动跟踪远程同名分支;冒号后面黑色文字表示本地分支领先其跟踪的远程分支一个提交。最后一项是提交时填写的备注信息。
    第二行,是 Git 指针信息,它指向远程仓库的 master 分支,这行信息暂不重要。
    第三行,远程分支信息,详见第一行的解释。

    • 推送成功后执行 git branch -avv 查看分支情况:
      推送成功
      可以看到,本地分支 master 与远程分支 origin/master 的版本号一致

    相关文章

      网友评论

          本文标题:git 常用命令 01

          本文链接:https://www.haomeiwen.com/subject/ftfmfrtx.html