Git常用命令整理

常用命令

git init : 初始化当前目录的仓库
git add file: 添加文件到缓冲区,每次add只记录当前文件所做的修改, add后的修改不会记录
    git add . 提交新文件(new)和被修改(modified)文件,不包括被删除(deleted)文件
    git add -u 提交被修改(modified)和被删除(deleted)文件,不包括新文件(new)
    git add -A 提交所有变化
git commit -m "information" : 将add后的所有文件提交到系统中
git log : 查看当前仓库所有活动  --pretty=oneline 可减少显示内容

git 中用 HEAD 表示当前版本 HEAD^ 表示上一个i版本 HEAD~100 表示第前100个版本
git reset --hard version_number: 将仓库返回到指定版本, 各种版本连成一串,
   而git相当于一个指针, 当version_number是回退前的版本就可以撤销回退
   如果找不到之前的版本了可以通过 git reflog 查找
git diff HEAD -- file : 查看版本库中最新一版和当前目录下的文件的不同
git checkout -- file : 丢弃工作区中的修改, 就是让这个文件回到最近一次git commit或git add时的状态, --不能省去
git reset HEAD <file>: 把暂存区的修改撤销掉(unstage),重新放回工作区
git rm file: 将删除某个文件的修改存入缓存区, 后面要通过git commit完成, 如果误删了可以通过git checkout -- file撤销

远程仓库操作

git remote add origin https/ssh : 将本地仓库与远程仓库连接
git push -u origin master: 把本地库的内容推送到远程(master) -u参数会把本地的master分支和远程的master分支关联起来,使用一次后之后就不用了
git remote rm 远程库名: 解除了本地和远程的绑定关系,并不是物理上删除了远程库, 物理上需要通过GitHub后台删除
git remote -v: 查看与本地绑定的远程仓库
git branch: 查看所有分支
git branch dev: 创建dev分支
git checkout dev: 切换到dev分支
git checkout -b dev: -b参数表示创建并切换分支 相当于git branch dev + git checkout dev
git merge dev: 将dev分支合并到当前分支, 如果两个分支有冲突 需要手动处理出冲突的文件后 通过 add和commit 再次提交该文件
git branch -d dev: 删除dev分支, 前提是分支已经合并
git branch -D dev: 删除dev分支,  不论分支是否合并
git switch -c dev: 作用与git checkout -b相同
git switch: 作用与git checkout相同
git log --graph --pretty=oneline --abbrev-commit: 查看分支信息
git merge --no-ff -m "merge with no-ff" dev: 不使用 Fast forward 模式合并,因为ff模式会丢失分支信息
git stash: 将当前工作现场“储藏”起来(未提交的内容会被隐藏存储), 用于当前的工作未做完,但需要先修改其他任务
git stash apply 指定的工作: 恢复“存储"的工作,但stash区里的内容不会被删除, 指定的工作可通过git stash list 查看
git cherry-pick 4c805e2: 复制一个特定的提交到当前分支
git rebase: 把本地未push的分叉提交历史整理成直线
git fetch origin --prune: 更新本地分支, 会与远程同步,删除多余分支
git pull: 与push不同,从远程拉取分支到本地分支

标签管理

git tag <tag> id: 没有id时默认最新commit
git tag -a <tagname> -m "blablabla..."-a 指定标签名 -m 添加描述信息、
git tag -d <tag>: 删除标签
git tag: 查看所有标签 按字母排列
git show <tag>: 查看标签的提交信息
git push origin <tagname>: 推送标签到远程、
git push origin --tags: 一次性推送全部尚未推送到远程的本地标签
git push origin :refs/tags/v0.9: 删除远程标签, 注意:先把本地的删除了~!

配置别名

git config --global alias.st status
git config --global alias.co checkout
git config --global alias.ci commit
git config --global alias.br branch
git config --global alias.unstage 'reset HEAD'
git config --global alias.last 'log -1'
git config --global alias.lg "log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit"

多人协作流程

  1. 先用 git remote -v 查看远程库信息
  2. 使用 git clone 下载需要的分支
  3. 使用 git checkout -b branch-name origin/branch-name 在本地创建和远程分支对应的分支
  4. 使用 git branch --set-upstream branch-name origin/branch-name 建立本地分支和远程分支的关联
  5. 使用 git push origin branch-name 从本地推送分支
  6. 如果推送失败,使用 git push 从远程拉取分支, 在本地将冲突解决后重新 git commit 再次推送到远程库
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值