Git基本指令

Git命令行操作

## 本地库初始化 ~git add~ 1. 初始化本地库 git init
  1. 设置签名
    用户名:
    email:
  • 项目级别 git config
git config user.name Pioneer4
git config user.email electricalqzhang@gmail.com
  • 系统用户级别git config --global
git config --global user.name Pioneer4
git config --global user.email electricalqzhang@gmail.com

项目级别>系统级别

产看配置好的参数

cat .git/config

系统信息:C:\Users\zhang.gitconfig

git status查看仓库状态
·git add·
git rm -cached [file]

版本控制

git log 最完整的形式
git log --pretty=oneline 显示hash值和注释
git log --oneline 显示hash值前7位和注释
git reflog显示hash前几位和注释以及到当前版本的步数
git log --graph 显示版本图

版本前进后退

基于索引值
git reset --hard 局部索引值
基于^符号
git reset --hard HEAD^后退一步
基于~符号
git reset --hard HEAD~3后退3步

reset的三个参数对比

  • --soft:仅在本地库移动指针
  • --mixed:本地库移动指针,并重置暂存区
  • --hard:本地库移动指针,重置暂存区,重置工作区

checkout

  • git checkout [文件名]:删除暂存区中对应文件的修改,相当于删除变动,让该文件内容变为和上次提交时一样。
  • git checkout .:删除暂存区中所有的修改内容

比较文件差异

  • git diff [文件名]:将工作区中的文件和暂存区进行比较
  • git diff [本地库中的历史版本] [文件名]:将工作区中的文件和本地库历史记录比较
  • 不带文件名,比较多个文件

branch分支

git branch second
git branch -v
git branch -a 查看所有分支
git checkout second

合并分支:
如果second上进行了修改,要合并到master上,需要切换到master分支git checkout master
然后进行merge操作git merge second

远程库github

git remote -v 查看保存的终端地址
git remote show <主机名> 命令加上主机名,可以查看该主机的详细信息
git remote rm <主机名> 命令用于删除远程主机
git remote add test1 https://github.com/Pioneer4/test1.git 添加终端地址
git remote rename <原主机名> <新主机名> 命令用于远程主机的改名

git push test1 master 推送master分支
git push <远程主机名> <本地分支名>:<远程分支名> 命令用于将本地分支的更新,推送到远程主机。

  • 如果省略远程分支名,则表示将本地分支推送与之存在"追踪关系"的远程分支(通常两者同名),如果该远程分支不存在,则会被新建。
    git push origin master 上面命令表示,将本地的master分支推送到origin主机的master分支。如果后者不存在,则会被新建。
  • 如果省略本地分支名,则表示删除指定的远程分支,因为这等同于推送一个空的本地分支到远程分支
$ git push origin :master
# 等同于
$ git push origin --delete master

上面命令表示删除origin主机的master分支。

注意:分支推送顺序的写法是<来源地>:<目的地>,所以git pull是<远程分支>:<本地分支>,而git push是<本地分支>:<远程分支>。

git pull <远程主机名> <远程分支名>:<本地分支名>取回远程主机某个分支的更新,再与本地的指定分支合并
等用于

git fetch <远程主机名> <分支名> 将某个远程主机的更新,全部取回本地
git fetch origin master 取回origin主机的master分支

rebase 合并最近几次的提交记录

  1. git rebase -i 8271f69:合并**当前版本~8271f69之间(不包含8271f69这个版本)**的提交记录
  1. 将pick改为s(squash = use commit, but meld into previous commit)

修改前:

修改后:

  1. 添加重新合并的注释:

修改前:

修改后:

  1. 全部修改保存完成后,提交记录变为:

其它问题

git密码

# 重置
git config --system --unset credential.helper
# 设置
git config --global credential.helper store

参考

git问题记录–如何从从detached HEAD状态解救出来

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值