文章目录
  1. 1. 从0开始从无到有
  2. 2. 初始化目录进行学习
  3. 3. 最后的啰嗦
  4. 4. 推送演示
  5. 5. 拉取演示
  • TortoiseGit的弊端
  • 文为自己填继续学习git心得, 可能有我不对的地方望大神指出! 之前呢,一直用gui工具进行操作,不知其然更不知其所以然 只知道拉取 推送 下载,结果不能深入的了解,也不知道分支是可以干嘛的,现在明白了,有了分支功能,你可以在程序的1.0版本完成了,创建一个2.0分支 异步一步迭代,如果 要还原 切换到1.0 也是得心应手。

    从0开始从无到有

    push推送 从本地推送到服务器叫推 ,是给别人 也就是不是本地 ,pull 翻译 叫拉 是拉向自己 从远程。

    那么 安卓手机adb也有这个命令 谁是主呢?是电脑还是 手机,当然是手机了,电脑可以是其他任何设备,被操作的设备 也就是里面带有命令行的设备就是自己

    把手机的东西弄到电脑叫 adb push /sdcard/a.txt d:/ 记住了没有?

    从服务器创建了一个仓库,那么默认地址应该叫类似
    https://git.coding.net/qssq/test.git

    初始化目录进行学习

    教程开始

    我想在e盘根目录下的gitdemo文件夹测试 git用法

    首先打开gitdemo文件夹

    如果正常安装了git的话 右键就可以用了

    没有右键也是可以自己配置右键菜单的

    百度一下情迁教你右键菜单编程在任意文件夹学习这些

    It技术调试git,java,.net 等各种。哈哈其实扯远了。就是右键管理员从此处运行

    这样cd命令自动切换到了当前目录

    有了它可以快速敲git 命令 java命令,c# 命令 情迁命令

    情迁QQ机器人的命令其实也是可以的,可惜webqq难倒腾了,一切都over了。

    1. 服务器创建了一个test的git仓库,打开gitdemo文件夹 右键git bash 命令:

      1
      git clone https://git.coding.net/qssq/test.git test
    2. 如果配置了cmd的话cmd也可以的,没有配置的win+r切换gitdemo目录即可。

    3. 这样就会在gitdemo下面创建一个test文件夹,然后打开文件夹. 或者 git bath切换到此目录
      最后的啰嗦

    敲入命令 在test文件夹输入:
    啰嗦一下,没有说错的话,远程默认有一个分支叫master,本地也是 所以不要问我为什么 是无法删除的

    提示权限错误 deleting the current branch is denied

    例子: 默认远程主机名叫origin,所以是origin,没有为什么..

    首先开始玩创建本地分支 然后创建一个远程分支 然后 演示删除一个创建的远程分支 ,大致就能完全了解清楚了。

    语法:$ git push <远程主机名> <本地分支名>:<远程分支名>
    也就是按英文意思叫 推送到服务器 把本地 推送远程 。 所以本地分支在前面 和pll相反。

    推送演示
    • 最常见的写法

      推送当前本地分支master到远程分支master,如果远程分支maseter不存在则创建创建名肯定是参考本地分支名了[此处省略参数 为远程分致命]

    git push origin master
    

    应该和 git push https://******git master类似

    • 一个错误的推送命令

      git push origin;#这语法是错误的,我还以为一直可以省略,甚至把origin理解 为是一个分支
      

      提示: 可以从这里得到相关信息,这是项目目录的隐藏.git文件夹的config文件,origin对应的远程路径是http**

           [core]
            repositoryformatversion = 0
            filemode = false
            bare = false
            logallrefupdates = true
            symlinks = false
            ignorecase = false
        [remote "origin"]
            url = https://****.net/qssq/qssq.git
            fetch = +refs/heads/*:refs/remotes/origin/*
            pushurl = https://*****/qssq/qssq.git
        [branch "coding-pages"]
            remote = origin
            merge = refs/heads/coding-pages
    
    
    1
    2
    3
    4
    5
    6
    7
    * **推送本地分支test1到远程分支test2**
    参数完全 把本地分支test1推送到远程分支test2不存在则创建
    git push origin test1:test2
    1
    2
    3
    4
    5
    * 删除远程分支test2
    此处省略了本地分支名参数 所以叫删除 和git push origin --delete test2类似 注意看清楚哦,有一个冒号 注意默认只有一个仓库是无法删除的,会提示权限问题。
    ```bash
    git push origin :test2;#[git push origin --delete test2 等同]
    拉取演示

    语法:

    1
    git pull <远程主机名> <远程分支名>:<本地分支名>

    从远程服务器别名叫origin 的 拉取远程分支master到本地的默认分支,命令如下:

    1
    git pull origin master

    从远程服务器 别名(可以参考全局git配置文件) 拉取test1分支到本地的test1分支

    1
    git pull origin test1:test1

    不想写了, 发现有些玩意不是我想的那样,本地删除了如果本地提交了为毛从服务器拉取都拉取不到,第二,为毛本地删除了 从服务器拉取没拉取到 然后切换一下分支再切换回来 文件才回来??

    如果本地删除了一个文件并提交了commit 从服务器拉取的 那么 也是无法还原的, Already up-to-date.
    git push origin

    切换分支 不存在则报错

    1
    git checkou test2

    创建分支test2并切换到test2分支 如果已存在分支将无法切换到此分支

    1
    git checkout -b test2

    创建分支 如果存在则会提示已存在

    1
    git branch test

    查看所有本地分支 以及当前分支当前分支颜色有点不相同

    1
    git branch

    查看所有分支

    1
    git branch -a

    查看状态 是否有文件需要提交什么的信息 这里指的是commit 是否需要commit

    git status
    

    获取分支

    git fetch origin
    

    查看提交的备注信息

    git log
    

    查看指定分支log

    git log source
    

    加入到版本控制

    git add 文件名
    git add 文件名1 文件名2 文件名3
    git add -A  //加入此目录下所有文件到版本控制
    //支持相对路径哦
    

    提交文件修改

    git commit -m "备注信息"
    

    吐槽
    可以新建一个shell脚本保存起来直接放到根目录直接点击就可以提交了。

    TortoiseGit的弊端

    大量文件无法右键菜单添加会卡死,然而你只需要里面的几个文件,那么这玩意真心浪费时间,没有命令行或者shell的快

    下面是我的shell脚本 window

    set /p message="请输入提交说明:"
    git add -A && git commit -m  "%message%" 
    git push --progress origin source
    pause
    
    文章目录
    1. 1. 从0开始从无到有
    2. 2. 初始化目录进行学习
    3. 3. 最后的啰嗦
    4. 4. 推送演示
    5. 5. 拉取演示
  • TortoiseGit的弊端