美文网首页
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