Git基础:命令

这是我几年前阅读git官方文档,学习时用markdown记录下来的,一直放在百度云,觉得是时候自己也得写点啥的时候了,整理了下,后面自己会持续这篇心得。

心得部分

  • 理解几个概念:
    工作区: 就是你在电脑上看到的目录(里面会有.git隐藏目录);
    版本库: 就是.git隐藏目录。这里git commit -m "注释"命令就会把暂存区的所有内容提交到当前分支。
    暂存区: 在.git中的一个stage,为暂存区,这里git add xxx.md命令就是把xxx.md文件添加到暂存区。

  • 那么一般过程(简单)

    • git config --global user.name “taopingping”
      git config --global user.email “tpp498@sina.com”

    • 创建版本库:
      git init

    • 提交更改文件
      git add xxx.md 添加到暂存区
      git status 查看文件是否有未提交的
      git diff xxx.md 比较
      git commit -m '提交注释'

    • 查看历史
      git log
      git log --pretty=oneline
      git log --graph --pretty=oneline --abbrev-commit
      git reflog 查版本号

    • 版本回退
      git reset --hard HEAD^ 一个^表示回退上一个版本。HEAD~n:表示回退到上n版本

    • git撤销修改和删除文件

      • 情况1:如果我知道要删掉那些内容的话,直接手动更改去掉那些需要的文件,然后add添加到暂存区,最后commit掉。
      • 我可以按以前的方法直接恢复到上一个版本。使用 git reset --hard HEAD^
      • git checkout --fileName 可以丢弃工作区的修改
        1. 未放到暂存区:
          直接用git checkout --fileName,直接回到和版本库一样的状态。
        2. 放到暂存区
          直接用git checkout --fileName,撤销修改就回到添加暂存区后的状态。
      • rm xx.md --> git add xx.md --> git commit -m "注释"
    • 远程仓库

      1. 创建SSH Key:在用户主目录下,看看有没有.ssh目录有没有这两个文件
        id_rsa --私钥
        id_rsa.pub --公钥
      2. 没有上面两个文件就创建:
        ssh-keygen -t rsa -C “tpp498@hotmail.com”
      3. 登陆github
        账号、密码
        添加SSH Key
        创建远程库(此时是空的,可以把本地仓库推送到该空库)
      4. git remote add origin master https://github.com/taopingping1989/test.git
      5. git push -u origin master
      6. 克隆一个本地库
        git clone https://github.com/taopingping1989/test2
    • 创建与合并

      1. git checkout -b dev,创建并切换分支。等于
        git branch dev
        git checkout dev
      2. 查看当前分支:git branch
      3. 把分支dev的内容用快进模式合并到当前分支: git merge dev
      4. 删除分支: git branch -d dev
    • 解决冲突

      1. 在分支dev上改了a文件,添加到暂存区且提交到库。这是发现master主分支上竟然a文件已经被更改,
      2. 此时需要到master分支上来合并dev分支。git merge dev
      3. 分支管理策略
        • 可以禁用fast-forward模式,因为这个模式删除分支后,会丢分支信息,
        • git merge -no-ff -m "注释" dev
      4. 分支策略:
        • 保证master主分支非常稳定,用于发布新版本。
        • 在新建分支dev上开发,后期合并到master主分支。
        • bug分支,临时新建一个分支用于修复bug,合并到主分支后,删掉该临时分支。
      5. git stash:可以把当前工作现场隐藏起来,不会被git status发现。这要在开新的临时bug分支时,就不会干扰当前的开发分支dev。
      6. git stash list
      7. git stash apply 恢复,stash内容不会被删除,所以得删除
      8. git stash drop
      9. git stash pop,恢复的同时,也删除内容。
    • 多人协作

      1. git remote
      2. git remote -v
      3. 推送分支:git push origin master
      4. master分支是主分支,时刻需要与远程同步。
      5. 一些修复bug分支不需要推送远程,可以先合并到主分支上,通过推送主分支到远程。
      6. 抓取分支:
        • 使用命令创建本地dev分支:git checkout -b dev origin/dev
        • 开发完成把dev分支推送到远程去: git push origin dev
        • 推送失败:
          先用git pull把最新的提交从origin/dev抓取下来,在本地合并,解决冲突,在合并,同svn。
        • git pull发现也推送失败:
          没有指定本地dev分支与远程origin/dev分支链接。git branch --set-upstream dev origin/dev
        • git pull成功,手动合并
        • 推送git push origin dev成功。

归纳:Git基本常用命令

mkdir: XX (创建一个空目录 XX指目录名)

pwd: 显示当前目录的路径。

git init 把当前的目录变成可以管理的git仓库,生成隐藏.git文件。

git add XX 把xx文件添加到暂存区去。

git commit –m “XX” 提交文件 –m 后面的是注释。

git status 查看仓库状态

git diff XX 查看XX文件修改了那些内容

git log 查看历史记录

git reset --hard HEAD^ 或者 git reset --hard HEAD~ 回退到上一个版本(如果想回退到100个版本,使用git reset –hard HEAD~100 )

cat XX 查看XX文件内容

git reflog 查看历史记录的版本号id

git checkout — XX 把XX文件在工作区的修改全部撤销。

git rm XX 删除XX文件

git remote add origin https://github.com/taopingping1989/test.git 关联一个远程库

git push –u(第一次要用-u 以后不需要) origin master 把当前master分支推送到远程库

git clone https://github.com/taopingping1989/test.git 从远程库中克隆

git checkout –b dev 创建dev分支 并切换到dev分支上

git branch 查看当前所有的分支

git checkout master 切换回master分支

git merge dev 在当前的分支上合并dev分支

git branch –d dev 删除dev分支

git branch name 创建分支

git stash 把当前的工作隐藏起来 等以后恢复现场后继续工作

git stash list 查看所有被隐藏的文件列表

git stash apply 恢复被隐藏的文件,但是内容不删除

git stash drop 删除文件

git stash pop 恢复文件的同时 也删除文件

git remote 查看远程库的信息

git remote –v 查看远程库的详细信息

git push origin master Git会把master分支推送到远程库对应的远程分支上

  • 0
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值