• Git


    Git下载

    https://git-scm.com/download/win

    Git常用语句

    $ git init //初始化仓库,然后关联远程仓库

    $ git clone https://github.com/AutKevin/JAVA   //克隆服务器仓库到本地,如果是为了直接克隆远程仓库到本地,直接执行此步骤,不需要init

    $ git remote add JAVA https://github.com/AutKevin/JAVA //关联到远程库,JAVA为远程仓库命名的name,https://github.com/AutKevin/JAVA为url

    $ git pull  //获取远程库文件

    $ git add .  //添加要上传的文件,为.时表示当前文件夹下的所有

    $ git rm file -r  //删除文件

    $ git commit -m 'first commit'  //文件提交到仓库,添加备注

    $ git push  //推送到远程库

    $ git push -u JAVA master  //推送到远程仓库,JAVA为远程仓库的name,master为分支名

    $ git diff  //查看workspace和缓存区之间的区别

    $ git status  //查看状态

    $ git remote -v  //查看目前链接的远程仓库

    git branch -a  //查看远程仓库的所有分支

    git help查看命令帮助

    官方例子

    初始化一个仓库

    git init   //初始化本地仓库
    git add README.md   //添加文件
    git commit -m "first commit"   //提交到本地仓库
    git remote add origin git@github.com:AutKevin/ProjectName.git  //将本地仓库关联到远程仓库,并将远程仓库名命名为origin
    git push -u origin master  //推送到远程仓库名为origin的master分支

    将本地一个已有的库推送到服务器

    注意!!!这里的远程仓库一定要是新建的仓库,因为本地仓库刚init不是clone下来,如果直接-f push上去会导致远程仓库之前所有的内容消失
    如果是已经存在的仓库,要先pull下来再push,如果不想pull可以新建一个分支
    git init  //本地仓库初始化
    git remote add origin git@github.com:AutKevin/ProjectName.git  //添加远程仓库,并命名为origin。
    git add .   
    git commit -m "first commit"
    git remote -v   //查看所有远程仓库名
    git branch -a   //查看所有分支名
    git push -u origin master   //推送到origin远程服务器的master主分支

    git pull命令

    $ git pull <远程库名> <远程分支名>:<本地分支名>

    等同于先做了git fetch ,再做git merg。

    git fetch origin online    //从远程服务器origin,online分支拉到本地仓库
    git checkout online     //切换到online分支
    git merge origin/online   //将拉到本地仓库的和工作空间合并

    Git撤销git commit 但是未git push的修改

    1. 找到上次git commit的 id
    
         git log 
    
         找到你想撤销的commit_id
    
    2.  git reset --hard commit_id
    
          完成撤销,同时将代码恢复到前一commit_id 对应的版本。
    
    3. git reset commit_id 
    
         完成Commit命令的撤销,但是不对代码修改进行撤销,可以直接通过git commit 重新提交对本地代码的修改。

    Git下载指定文件夹下的文件

    复制github中指定目录的url,将将“tree/master”改成“trunk”再运行svn checkout url即可

    svn checkout giturl

    创建分支

    基础命令

    查看分支:git branch
    创建分支:git branch <name>
    切换分支:git checkout <name>
    创建+切换分支:git checkout -b <name>
    合并某分支到当前分支:git merge <name>
    删除分支:git branch -d <name>

    一个分支代表一个功能点,开发完之后要new一个pull request(拉请求,用于告诉所有成员有新的功能被添加)。然后merge到master上,再删除分支。若是功能开发失败,直接删除即可,不影响其他分支开发。

    git checkout -b dev   //创建并切换到分支,相当于如下两个命令
    /* 
    $ git branch dev    创建分支
    $ git checkout dev   切换分支
    */
    git branch  //查看分支
    
    git add readme.txt    //添加文件
    git commit -m "branch commit"   //提交
    
    git checkout master   //切换到主分支
    git merge dev    //合并dev分支,merge用于合并指定分支到当前分支
    git branch -d dev   //删除本地dev分支
    git branch    //查看分支
    git push [origin] --delete [branchname] //删除远程仓库分支,orign为远程仓库名,branchname为分支名

    GitHub常用插件

    Octotree 左侧形成树

    OctoLinker 跳转到文件

    enhanced-github 显示文件大小,并单独下载github中的文件

    GitHub常用技巧

    文件名搜索

    源码浏览页面,按T键可以快速进入模糊文件名搜索模式

    分支过滤

    仓库主页,按W键可以快速进行分支过滤

    快捷键提示

    在任何界面,?键可以弹出快捷键提示

    GitHub搜索技巧

    搜索仅包含 fork过的项目,在搜索条件中加入fork:true或fork:only

    搜索项目名称中包含关键字的 in:name

    搜索描述中包含关键字的 in:description

    搜索readme中包含关键字的 in:readme

    搜索username中包含关键字的 user:USERNAME

    搜索组织或机构名包含ORGNAME的 org:ORGNAME

    按项目大小(单位K)搜索 size:n

    根据fork数量搜索 forks:n

    根据star数量搜索 stars:n

    根据编程语言搜索language:LANGUAGE

    根据路径(不含文件名)搜索 SearchPath in:path

    例:

    要搜索的内容 in:description language:java stars:>10 forks:>10 size:>100

    参考

    https://blog.csdn.net/kabulore/article/details/51801337

    https://www.cnblogs.com/phpper/p/7136048.html

  • 相关阅读:
    《ucore lab1 exercise2》实验报告
    《ucore lab1 exercise1》实验报告
    《Tsinghua os mooc》第21~22讲 文件系统
    《Tsinghua os mooc》第17~20讲 同步互斥、信号量、管程、死锁
    《Tsinghua os mooc》第15~16讲 处理机调度
    《Tsinghua os mooc》第11~14讲 进程和线程
    《Tsinghua oc mooc》第8~10讲 虚拟内存管理
    bzoj3188 [Coci 2011]Upit(分块)
    P4514 上帝造题的七分钟(二维树状数组)
    bzoj3156 防御准备(斜率优化)
  • 原文地址:https://www.cnblogs.com/aeolian/p/git.html
Copyright © 2020-2023  润新知