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

    以前汇总:

    1.安装git bash

    http://msysgit.github.io/ 下载最新git exe文件

    2.在git bash 中指定本地目录并创建本地库

    cd e:/workspace
    git init
    (此时,可以add和commit---添加到暂存区)

    3.与远程库建立秘钥连接

    $ ssh-keygen -t rsa -C "Administrator@X05THXG05XXM1CM"

    $ ssh-keygen -t rsa
    (秘钥文件保存在c盘:C:UsersAdministrator.ssh)
    有id_rsa和id_rsa.pub两个文件,这两个就是SSH Key的秘钥对,id_rsa是私钥,不能泄露出去,id_rsa.pub是公钥,可以放心地告诉任
    何人。
    将id_rsa.pub的内容粘贴到hithub秘钥中去。

    4.与远程库关联

    http://live.insta360.com/pano/test_0413

    https://github.com/loverong22/RongRepository.git(远程库)

    $ git remote add origin git@github.com:loverong22/RongRepository.git

    ----------------------------------------最新整理----------------------------------------------------------------
    1.$ mkdir learngit ----> 创建本地库

    2.$ cd learngit ---->选择本地库(目录)

    3.$ pwd ---->显示当前本地库目录

    4.$ git init ---->安装本地库

    5.$ git add readme.txt ---->添加文件到本地库(暂存区)

    6.$ git commit -m "wrote a readme file"---->提交到本地库

    7.$ git commit -m "add distributed"
    $ git add file1.txt
    $ git add file2.txt
    $ git add file3.txt
    $ git commit -m "add 3 files”. ---->提交多个暂存区文件
    若弹出显示窗,输入:+q ---->退出显示窗

    8.$ git status ---->查看本地库状态

    9.$ git diff readme.txt ---->文件不同查看

    10.$ git remote add origin git@github.com:远程用户名/本地库名.git
    git remote add origin git@server-name:path/repo-name.git; ---->远程库和本地库建立关联
    git remote set-url origin ssh://wanguangrong@192.168.1.119:7999/vd/gundam_cli
    ent_cocos2d.git --->设定远程库域名
    git remote -v ---查看远程连接库
    git remote rename origin server 将远程端(roigin)修改为server
    git remote rm branch 删除远端分支
    git push --delete origin 分支名 ---删除远程分支
    git branch -m devel develop 重命名本地分支


    11.$ git push -u origin master ---->把本地库的所有内容推送到远程库上(随时都可以提交当前状态):
    $ git push --all ---->推送所以内容到远程库
    $ git push origin 分支名称 --->推送该分支(当前分支)

    12.$ ssh-keygen -t rsa -C "your\_email@example.com" ---->创建SSH Key

    13.$ git clone git@github.com:远程用户名/远程库.git ---->从远程克隆远程库
    例: git clone ssh://wanguangrong@192.168.1.119:7999/vd/gundam_client_cocos2d.git


    14.$ git checkout -b dev ---->建立一个分支
    $ git checkout命令加上-b参数表示创建并切换,相当于以下两条命令:
    git branch dev 创建分支
    git checkout dev ---->切换分支

    15.$ git branch ---->查看分支(当前分支会有*)
    git branch -a 查看本地、远端所有分支
    git branch -r 查看远程分支
    git branch -v 查看分支详细信息
    git branch -av 查看所有分支详细信息

    16.$ git merge 分支名 ---->合并分支

    17.$ git branch (两个空格)-d 分支名 ---->删除分支
    (若提示:error: The branch ‘分支名’ is not fully merged.
    可用:$ git branch -D 分支名 删除完全合并分支/强制删除)

    18.git merge 分支名称 ---->合并某分支到当前分支
    git merge origin 分支名--->合并远程分支到当前分支
    git merge origin/分支名

    19.$ git reset --hard HEAD^---->回到上一步操作
    git reset --hard -->返回上次push 状态

    20.$ cat readme.txt ---->显示 文件查看內容

    21.$ git log ---->操作日志

    22.用“git diff HEAD -- readme.txt”命令可以查看工作区和版本库里面最新版本的区别:
    $ git diff HEAD -- readme.txt

    23.$ rm test.txt ---->删除指定文件(直接在文件管理器中把没用的文件删了)
    $ rm -rf gundam/(目录) --->删除当前目录下所有文件
    $ git rm --cached 文件 --->清楚暂存区文件
    git rm -r --cached backup --从缓存删除特定文件

    24.$ git rm test.txt ---->确实要从版本库中删除该文件

    25.$ git checkout --test.txt ---->把误删的文件恢复到最新版本

    26.$git push -u 远程分支名(gundam improvement/GUN-2) 推送到远程指定分支

    27.$git push --delete 远程分支名(origin improvement/GUN-2)删除远程指定分支

    28.$ls
    查看本地库 文件(预览)

    29.$git mv old文件名 new文件名 //修改文件名称

    30.$start . ---打开本地根目录文件夹

    31.$git push(命令) --help ----打开该命令官网文档


    额外:
    $ git config --global core.autocrlf false
    $ git config --global push.default simple
    $ git push origin --delete master
    $ git push origin --delete version/gundam
    $ git branch -m master
    $ git config --list | grep crlf
    $ git rm --cached -r Classes
    $ git add .gitignore
    $ ssh root@s2.ziyugame.com


    git 冲突

    error: Your local changes to the following files would be overwritten by merge:
    protected/config/main.php
    Please, commit your changes or stash them before you can merge.
    如果希望保留生产服务器上所做的改动,仅仅并入新配置项, 处理方法如下:

    git stash
    git pull
    git stash pop
    然后可以使用git diff -w +文件名 来确认代码自动合并的情况.

    反过来,如果希望用代码库中的文件完全覆盖本地工作版本. 方法如下:

    git reset --hard
    git pull
    其中git reset是针对版本,如果想针对文件回退本地修改,使用

    git checkout HEAD file/to/restore

    验证配置
    $ git config --list(若无此操作,会反复提示验证邮箱)
    配置是存放在个人主目录下的 .gitconfig 文件中的
    $ cat ~/.gitconfig(查看文件内容)
    例:
    $ git config --global user.email "zisehuiyi2007@126.com"

    Administrator@X05THXG05XXM1CM /e/LocalRepository (rong-1)
    $ git config --global user.name "Rong"

    Administrator@X05THXG05XXM1CM /e/LocalRepository (rong-1)
    $ git config --list

    push 时避免输入用户信息
    【方案一】
    1).环境变量:在用户变量的地方创建一个HOME变量,值为%USERPROFILE%
    2).打开这个用户目录,每个人的用户目录不一样,我的为C:UsersAdministrator,在用户目录下创建一个文件名为_netrc的文件,注
    意,这是没有扩展名的(可以新建记事本文件,删除扩展名)
    3).假如我的项目的Git地址为:http://118.28.35.163/android/chat.git,用户名为:dai_zhenliang@163.com,密码为:
    daizhenliang888999,右击_netrc这个文件,选择使用notepad++打开,输入如下内容:
    machine 118.28.35.163
    login dai_zhenliang@163.com
    password daizhenliang888999
    上面中的machine不一定是ip值,如果你的git地址是http://git.daizhenliang.com/android/chat.git,则machine的值应该为:
    git.daizhenliang.com

    https://github.com/loverong22/RongRepository ,则machine的值为:
    github.com 以此类推
    【方案二】
    git项目config配置文件中 修改对应远程库关联信息:
    例:
    [remote "origin"]

    url = https://zisehuiyi2007:rosi8899@code.aliyun.com/capjason/insta360studio.git
    fetch =
    +refs/heads/*:refs/remotes/origin/*

    另外,遇到无法push/pull 的情况也可以从新从服务器把数据克隆到本地,使用克隆下来的git(ssh方式),就可以避免这个问题。

  • 相关阅读:
    设计模式之-装饰模式
    设计模式之-组合模式
    设计模式之-桥接模式
    设计模式之-适配器模式
    Java import static 静态导入
    C语言:字符数组 + 字符串指针
    leetcode 435.无重叠区间
    C++:强制类型转换
    C++:移动构造函数和移动赋值运算符
    编程:找出所有符合条件的元素
  • 原文地址:https://www.cnblogs.com/-yan/p/5283452.html
Copyright © 2011-2022 走看看