git常用指令集结

本文详细介绍了Git的基本操作,包括初始化仓库、查看状态、添加修改、提交、查看历史记录,以及如何处理冲突。此外,还涵盖了与远程仓库的交互,如克隆、推送、拉取、设置分支跟踪等。最后,讲解了如何在遇到推送冲突时进行解决,确保团队协作的顺畅进行。
摘要由CSDN通过智能技术生成

$ git init // 初始化一个Git仓库
$ git status // 查看仓库的状态
$ git add . // 将所有修改添加到暂存区
$ git commit -m “—” // 将暂存区的修改提交到仓库 后面添加上有意义的注视信息
$ git log // 查看git的commit信息,每次提交的信息包括注视在内,从最新提交到最久提交
$ git log --pretty=oneline // 将commit 信息简化成一行显示
$ git reflog // 在退回到旧版本之后可以查看旧版本之前的提交日志
$ git reflog 查看到之前的版本的commit id
$ git status 可以看到修改的状态


添加远程库
$ git remote add origin git@github.com:zhangsan/ylez.git // 添加一个远程仓库
$ git push -u origin master // 将本地的master分支推送到远程的master分支中(第一次推后面可以直接push)
$ git push -u origin dev // 本地切换到dev分支然后将本地的dev分支推送到远程
克隆远程仓库到本地
$ git clone git@192.168.0.8:zhangsan/test.git // 讲一个远程的仓库克隆到本地
本地分支操作
$ git branch // 查看git的所有分支
$ git branch dev // 创建dev分支
$ git checkout dev // 切换到一个已经存在的分支
$ git checkout -b dev // 创建dev分支,并切换到dev分支
$ git branch -d dev // 删除dev分支
$ git checkout master // 切换到主分支
$ git merge dev // 将dev分支合并到master分支
$ git stash // 冻结当前的分支修改
$ git branch -d branchName // 删除某一个分支,前提是在该分支和产生该分支的主分支已经合并了(merge)
$ git branch -D branchName // 删除某一个分支,无论是否合并都强制删除

要查看远程库的信息:
$ git remote //查看当前仓库
origin
$ git remote -v //或者,用git remote -v显示更详细的信息:

origin git@github.com:michaelliao/learngit.git (fetch)
origin git@github.com:michaelliao/learngit.git (push)

并不是一定要把本地分支往远程推送,那么,哪些分支需要推送,哪些不需要呢?
master分支是主分支,因此要时刻与远程同步;
dev分支是开发分支,团队所有成员都需要在上面工作,所以也需要与远程同步;
bug分支只用于在本地修复bug,就没必要推到远程了,除非老板要看看你每周到底修复了几个bug;
feature分支是否推到远程,取决于你是否和你的小伙伴合作在上面开发。

常见问题处理冲突
$ git checkout -b feature1
Switched to a new branch ‘feature1’

当你从远程仓库克隆时,实际上Git自动把本地的master分支和远程的master分支对应起来了,并且,远程仓库的默认名称是origin。
推送的时候如果有人在你之前已经推送了,推送失败

$ git push origin dev
  To git@github.com:michaelliao/learngit.git
   ! [rejected]        dev -> dev (non-fast-forward)
  error: failed to push some refs to 'git@github.com:michaelliao/learngit.git'
  hint: Updates were rejected because the tip of your current branch is behind
  hint: its remote counterpart. Merge the remote changes (e.g. 'git pull')
  hint: before pushing again.
  hint: See the 'Note about fast-forwards' in 'git push --help' for details.

因为你的小伙伴的最新提交和你试图推送的提交有冲突,解决办法也很简单,
Git已经提示我们,先用git pull把最新的提交从origin/dev抓下来,然后,在本地合并,解决冲突,再推送$ git pull //抓去远程的分支的提交到本地


没有指定本地dev分支与远程origin/dev分支的链接,推送也会失败,所以首先我们需要建立本地分支和远程分支的联系

$ git branch --set-upstream dev origin/dev  // 建立本地dev 分支和远程dev分支的联系
Branch dev set up to track remote branch dev from origin.

总结:
查看远程库信息,使用git remote -v;
本地新建的分支如果不推送到远程,对其他人就是不可见的;
从本地推送分支,使用git push origin branch-name,如果推送失败,先用git pull抓取远程的新提交;
在本地创建和远程分支对应的分支,使用git checkout -b branch-name origin/branch-name,本地和远程分支的名称最好一致;
建立本地分支和远程分支的关联,使用git branch --set-upstream branch-name origin/branch-name;
从远程抓取分支,使用git pull,如果有冲突,要先处理冲突。

在Git工作区的根目录下创建一个特殊的.gitignore文件,然后把要忽略的文件名填进去,Git就会自动忽略这些文件

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值