zoukankan      html  css  js  c++  java
  • github常用使用命令

    一、git设置

    设置用户名与邮箱

    git config --global user.name "My Name"
    git config --global user.email "my@email.com"

    上面设置命令中带了“–global"参数,是全局配置,影响本机上所有的git项目。也可以对一些单独的项目进行设置,进入要设置的项目目录,进行设置:

    cd dir
    git config user.name "My Name"
    git config user.email "my@email.com"

    查看配置:

    cat .git/config

    二、创建git仓库及操作

    创建git仓库:

    mkdir project
    cd project
    git init #在当前的目录下建一个仓库

    检出仓库:

    git clone git@server:app.git myrepo

    查看远程仓库:

    $ git remote -v

    添加远程仓库:

    $ git remote add [name] [url]

    删除远程仓库:

    $ git remote rm [name]
    
    
    git push origin master

    三、更改代码的操作

    更新本地代码到最新版本(需要merge才能合到本地代码中):

    git fetch

    合并更新后的代码到本地:

    git merge

    更新代码方式的另一种方法(git pull是git fetch和git merge命令的一个组合):

    git pull

    修改代码后,查看已修改的内容:

    git diff --cached

    将新增加文件加入到git中:

    git add file1 file2 file3

    所有文件全部加入到git中:

    git add .

    从git中删除文件:

    git rm file1
    git rm -r dir1

    提交修改:

    git commit -m 'this is memo'

    如果想省掉提交之前的 git add 命令,可以直接用:

    git commit -a -m 'this is memo'
    
    commit和commit -a的区别, commit -a相当于:
    第一步:自动地add所有改动的代码,使得所有的开发代码都列于index file中
    第二步:自动地删除那些在index file中但不在工作树中的文件
    第三步:执行commit命令来提交

    提交所有修改到远程服务器,这样,其它团队成员才能更新到这些修改

    git push

    四、git 分支(branch)操作

    创建dev分支:

    git branch dev

    查看项目仓库中有几个分支:

    git branch
    
    //*号为当前所在分支
      dev
    * master

    分支切换:

    //切换到dev分支
    git checkout dev

    查看master分支和dev分支差异:

    git diff dev

    合并dev分支到master分支(如果合并发生冲突,需要自己解决冲突):

    git merge branchname

    解决冲突:

    当merge命令自身无法解决冲突的时候,它会将工作树置于一种特殊的状态,并且给用户提供冲突信息,以期用户可以自己解决这些问题。当然在这个时候,未发生冲突的代码已经被git merge登记在了index file里了。如果你这个时候使用git diff,显示出来的只是发生冲突的代码信息。
    
    在你解决了冲突之前,发生冲突的文件会一直在index file中被标记出来。这个时候,如果你使用git commit提交的话,git会提示:filename.txt needs merge
    
    在发生冲突的时候,如果你使用git status命令,那么会显示出发生冲突的具体信息。

    在你解决了冲突之后,你可以使用如下步骤来提交:

    第一步(如果需要增加文件):

    git add file1

    第二步:

    git commit

    删除dev分支:

    git branch -d dev

    如果要删除的分支没有被合并到其它分支中去,那么就不能用“git branch -d”来删除它,需要改用“git branch -D”来强制删除。

    将分支推送到远端仓库:

    git push origin <branch>

    删除远程分支:

    git push origin --delete <branch>

    五、打标签

    git可以对某一时间点上的版本打上标签。如在发布某个软件版本(比如 v0.1等),可以打版本标签。

    列出已有的标签:

    git tag

    打标签:

    git tag -a v0.1 -m 'tag version 0.1'

    把本地tag推送到远程:

    git push --tags

    删除tag:

    git push origin --delete tag <tagname>

    六、其它常用命令

    显示commit日志:

    git log

    不仅显示commit日志,而且同时显示每次commit的代码改变:

    git log -p

    查看当前仓库的状态:

    git status

    回滚代码:

    git revert HEAD

    你也可以revert更早的commit,例如:

    git revert HEAD^

    销毁自己的修改

    git reset --hard

    查看最新版本和上一个版本的差异(一个^表示向前推进一个版本)

    git diff HEAD HEAD^

    git取消已经缓存的文件(慎用):

    git reset

    git恢复删除了的文件,git pull 从git服务器取出,并且和本地修改merge, 类似于SVN up,但是对删除的文件不管用,恢复删除文件用

    git checkout -f

    七、githubb备忘

    Global setup:
      Download and install Git
      git config --global user.name "imbingdian"
      git config --global user.email imbingdian@gmail.com
    
    Next steps:
      mkdir projectname
      cd projectname
      git init
      touch README
      git add README
      git commit -m 'first commit'
      git remote add origin git@github.com:bingdian/projectname.git
      git push -u origin master
    
    Existing Git Repo?
      cd existing_git_repo
      git remote add origin git@github.com:bingdian/projectname.git
      git push -u origin master
  • 相关阅读:
    Codeforces
    (水题)Codeforces
    【拓展欧几里得】方程的解
    洛谷P3216 [HNOI2011]数学作业
    洛谷P1719 最大加权矩形
    洛谷P1369 矩形
    洛谷 P1236 算24点
    洛谷P2014 选课
    洛谷 P1573 栈的操作
    洛谷P1531 I Hate It
  • 原文地址:https://www.cnblogs.com/zghull/p/3339699.html
Copyright © 2011-2022 走看看