zoukankan      html  css  js  c++  java
  • Git使用记录


    Git

    上传

    git操作命令整理
    廖雪峰git教程

    参考

    如果我们要把一个项目加入到Git的版本管理中,可以在项目所在的目录用git init命令建立一个空的本地仓库,然后再用git add命令把它们都加入到Git本地仓库的暂存区(stage or index)中,最后再用git commit命令提交到本地仓库里。
    

    创建一个新的项目目录,并生成一些简单的文件内容

    $ mkdir test_proj
    $ cd test_proj
    $ echo “hello,world” > readme.txt
    

    在项目目录创建新的本地仓库,并把项目里的所有文件全部添加、提交到本地仓库中去

    $ git init #在当前的目录下创建一个新的空的本地仓库
    Initialized empty Git repository in /home/user/test_proj/.git/
    $ git add . #把前目录下的所有文件全部添加到暂存区
    $ git commit -m 'project init' #创建提交
    [master (root-commit) b36a785] project init
    1 files changed, 1 insertions(+), 0 deletions(-)
    create mode 100644 readme.txt
    

    远程提交(到服务器)

    $ git remote add master git@服务器地址:存储位置.git  
    $ git push origin origin
    ## 注:origin是初始init创建的本地仓库的分支名
    

    查看

    #查看配置
    $ git config --list
    
    #查看远端地址
    $ git remote -v
    
    #查看当前仓库状态
    $ git status 
    
    $ git log
    >>>fatal: bad default revision 'HEAD'
    #(由于仓库里没有任提交在里面,所以它会报这个错。)
    $ git add filename1 filename2 ...#添加文件到暂存区
    #将刚才的修改提交到本地仓库中 
    $ git commit -m “modify map” #本次要提交的概要信息
    >>>现在你执行一下git log 命令就会看到刚才的提交记录
    $ git log
    commit d6f2a112575187a5d7acc35697b0065ea62e6a80  #我们此次创建的提交的名字
    Author: xxx
    Date: xxx  
    
    #查看分支
    $ git branch 
    $ git show-branch
    $ git branch -av
    

    修改

    现在修改一下仓库里文件的内容,提交到仓库中去

    #修改文件(如:在文件的最后添加一行)
    $ echo "Git is Cool" >> readme.txt  
    $ git status #查看当前仓库的状态 
    # On branch master 
    # Changed but not updated: (修改了,但是还没有暂存的内容) 
    # (use "git add <file>..." to update what will be committed) 
    # (use "git checkout -- <file>..." to discard changes in working directory) 
    # 
    # modified: readme.txt 
    # 
    no changes added to commit (use "git add" and/or "git commit -a") 
    
    (没有修改可以被提交,使用 “git add” 命令添加文件到暂存区,或是使用“git commit -a” 命令强制提交当前目录下的所有文件)
    

    查看修改部分

    $ git diff #查看仓库里未暂存内容和仓库已提交内容的差异 
    diff --git a/readme.txt b/readme.txt 
    index 7b5bbd9..49ec0d6 100644 
    --- a/readme.txt 
    +++ b/readme.txt 
    @@ -1 +1,2 @@ 
    hello Git 
    +Git is Cool 
    
    $ git add readme.txt
    $ git status 
    # On branch master 
    # Changes to be committed: 
    # (use "git reset HEAD <file>..." to unstage) 
    # 
    # modified: readme.txt 
    $ git commit -m "Git is Cool" 
    [master 45ff891] Git is Cool 
    1 files changed, 1 insertions(+), 0 deletions(-) 
    (一个文件被修改,一行插入,零行删除) 
    
    # 还可以直接根据提交的序列号查看
    git log 08383abe8xxxxxx
    git diff 08383abe8xxxxxx
    git diff 08383abe8xxxxxx b4e1241d0exxxxx
    

    Error记录

    //删除了某一项版本控制下的内容,使用git add .无法在索引中删除该文件。
    // 应使用
    $ git add -A //stages所有文件
    //而
    $ git add . //只能stages新文件和被修改文件,没有被删除文件
    
    $ rm JackyData03  
    $ git add . && git commit -m "remove JackyData03"  
    Error: warning: You ran 'git add' with neither '-A (--all)' or '--ignore-removal'...
    #使用git commit -a -m提交删除  
    $ git commit -a -m "remove JackyData03"  
    
    Error: fatal: remote origin already exists.
    
    $ git remote rm origin
    $ git remote add origin git@...
    //如果输入$ git remote rm origin 还是报错的话,error: Could not remove config section 'remote.origin'. 我们需要修改gitconfig文件的内容
    //找到你的github的安装路径, 找到一个名为gitconfig的文件,打开它把里面的[remote "origin"]那一行删掉就好了!
    
    $  git commit -m "modify map_box and segmentation"
    
    #error:fatal: Not a git repository (or any parent up to mount parent /home/kineam)
    #Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set).
    
    "Deal:git init
    why:don't find git contents,初始化一下"
    

    github SSH密钥

    1.设置git的user name和email:

    $ git config --global user.name "xxx"
    $ git config --global user.email "xxx@gmail.com"
    

    2.生成SSH密钥过程:

    cd ~/.ssh  #查看是否已经有了ssh密钥,如果没有密钥则不会有此文件夹,有则备份删除
    $ ssh-keygen -t rsa -C “xxx@gmail.com”  #生成SSH密钥,按3个回车,密码为空。
    ssh-add filename #添加密钥到ssh
    #在github上添加ssh密钥,这要添加的是“id_rsa.pub”里面的公钥
    ssh git@github.com #测试
    

    Warning: Permanently added 'github.com,192. ... .113' (RSA) to the list of known hosts.
    PTY allocation request failed on channel 0
    Hi xxx! You've successfully authenticated, but GitHub does not provide shell access.
    Connection to github.com closed.
    如果your_name正确显示你的ID,则说明成功设置了SSH公钥

    添加SSH keys

    ssh-keygen -t rsa
    //系统提示输入文件保存位置等信息,连续敲三次回车即可
    //在.ssh文件夹下生成了2个文件,一个公钥和一个私钥文件,  id_rsa  id_rsa.pub
    //生成的SSH key文件保存在中~/.ssh/id_rsa.pub
    
    cp  ~/.ssh/id_rsa.pub ~/.ssh/authorized_keys
    //命令:这样配置之后就可以实现无密码登录本机
    //如果需要登录到远程主机,只需要将authorized_keys文件发送到远程主机的~/.ssh/目录下。
    
    vim ~/.ssh/id_rsa.pub
    //接着拷贝.ssh/id_rsa.pub文件内的所以内容,将它粘帖到github帐号管理中的添加SSH key界面中
    打开github帐号管理中的添加SSH key界面的步骤如下:
    1. 登录github
    2. 点击右上方的Accounting settings图标
    3. 选择 SSH key
    4. 点击 Add SSH key
    

    上传代码

    echo "some remarks" >> README.md
    git init
    git add README.md
    git commit -m "first commit"
    git remote add origin https://github.com/xxx/xxx.git
    git push -u origin master
    
    Error:Agent admitted failure to sign using the key
    //解決方式 使用 ssh-add 指令将私钥 加进来 (根据个人的密匙命名不同更改 id_rsa)--实现无密码登录
    $ ssh-add   ~/.ssh/id_rsa  
    
    $ git push -u origin master
    Counting objects: 80, done.
    Delta compression using up to 4 threads.
    Compressing objects: 100% (75/75), done.
    Writing objects: 100% (80/80), 2.45 MiB | 248.00 KiB/s, done.
    Total 80 (delta 20), reused 0 (delta 0)
    remote: Resolving deltas: 100% (20/20), done.
    To git@github.com:Vanessa-feng/xxx.git
     * [new branch]      master -> master
    Branch master set up to track remote branch master from origin.
    

    github 删除文件

    //先删除本地文件
    $ git add. 
    $ git commit -m "delete file"
    $ git push
    
    //直接删除github文件
    git rm filename
    git commit -m "remove file"
    git push -u origin master
    
  • 相关阅读:
    软工结对作业
    软工个人博客作业-软件案例分析
    软工个人项目作业
    软工个人博客作业
    软工第一次个人作业
    2019OO第三单元作业总结
    2019OO第二单元作业总结
    提问回顾以及个人总结
    软工结对项目——图形交点PLUS
    个人博客作业-软件案例分析
  • 原文地址:https://www.cnblogs.com/Vanessa-Feng/p/7639813.html
Copyright © 2011-2022 走看看