我常用的git命令

如果您更倾向于视频学习,我推荐您git知道这些就够了

如果您想通过文档了解更全面的git,我推荐您廖雪峰git教程

贼常用的命令

  1. git init :初始化一个git仓库

  2. git status: 查看当前仓库的状态信息

    红色字体:代表文件有变更
    绿色字体:文件在暂存区中

  3. git add <**> :将**加入暂存区
    git add <filename>:将单个文件放入暂存区
    git add -A 或者 . 注意是.:将所有的文件加入暂存区,A要大写

  4. git commit -m <message>:将暂存区的文件放入仓库并附上描述信息message。

    每个commit都有一个唯一的哈希值与之对应。
    commit 只会提交绿的文件。

  5. git log:查看日志信息,可以查看每次的commit的时间、人员和内容

  6. git reflog:查看所有的操作记录

文件状态

  1. untracked:新建文件的状态
  2. unmodified:文件第一次提交后的文件
  3. modified:提交的文件有了变更之后的状态
  4. staged:提交(commit)后的状态

撤销

  1. git reset <filename>:从暂存区中撤销文件,就是status中绿色变成红色。

  2. git reset <commitID>:根据commitID回退到不同的版本。

    –hard:不保存所有变更
    –soft:保留变更且变更内容处于staged状态
    –mixed:保留变更且变更内容处于modified状态

    当回退后想回到之前最新的可能会用到reflog命令,或者git pull直接回到最新的commit。

分支

版本的变更就放在不同的分支中,版本切换时就切换分支,就不需要使用commitId了。

  1. git checkout -b <name> <template> :创建一个新的分支,name:新分支的名字,template:指以哪个分支或者commit为模板,不填默认以当前分支为模板。分支会继承在他创建之前master中的commit,之后在此分支提交的commit不会同步到master
  2. git checkout <name>:切换不同的分支,name是分支的名字。
  3. git branch:查看所有的分支。

    带*/高亮的代表当前所在的分支。

合并

合并分支的变更,注意不是分支的内容。

  1. git merge --no-ff <branchName> :设当前所在分支是master,则就是将branchName的变更合并到master上。注意:建议merge的时候总是用 --no-ff 选项。

    合并不同的分支时可能会产生冲突,需要解决冲突,可以使用工具,也可以手动(手动就是自己选择保留什么内容,之后再次commit)

远程仓库

  1. git clone ****:克隆远程仓库
  2. git push : 将本地仓库推送至远程仓库

    在本地首次创建的分支(远程仓库中没有该分支),push会出错,报错:当前分支没有上流分支,☞该分支只在存在于本地而远程仓库并没有。不要怂,出错了git会给你提示。
    git push --set-upstream origin branchName:推送当前分支并设置远端为上流分支。

  3. git fetch:拉取远程仓库的信息。

    获取信息后,第一次使用git branch你不会看到远程新加的分支,因为git branch是获取本地的分支,但是 fetch后可以使用git checkout branchName切换到新加的分支,没有fetch的话checkout不会起作用。
    git checkout -b branchName origin RemoteBranchName:将远程的RemoteBranchName切到本地并取名为branchName

  4. git pull:先fetch再自动merge。

参考文章:
git merge squash 和 rebase 区别

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值