## (一)安装Git

法一:使用apt 安装

#安装git

  1. sudo apt-get update  
  2. sudo apt-get install git  

#配置 你的github

 

  1. git config --global user.name "Your Name"  
  2. git config --global user.email "youremail@domain.com"  

查看配置信息

 

  1. git config --list   

编辑配置信息

 

  1. nano ~/.gitconfig  

#修改

 

  1. [user]  
  2.        name = Your Name  
  3.        email = youremail@domain.com   

#创建公钥

 

  1. ssh-keygen -C 'you email address@gmail.com' -t rsa   

这会在 用户目录 ~/.ssh/ 下建立相应的密钥文件

#上传公钥

在 github.com 的界面中 选择右上角的 Account Settings,然后选择 SSH Public Keys ,选择新加。

Title 可以随便命名,Key 的内容拷贝自 ~/.ssh/id_rsa.pub 中的内容,完成后,可以再使用

 

  1. ssh -v git@github.com    

进行测试。看到下面的信息表示验证成功。

...

Exit status 1

 

##(二)使用git

#创建git 的根目录

 

  1. mkdir -p ~/git/testing   
  2.  cd ~/git/testing  

#创建测试文件

  1. touch REAME  

#初始化该目录

 

  1. git init  

#新增文件到git 注意后面的 . 表示当前目录

 

  1. git add .  

  #没有提示信息就是好的提示信息,但没有说明git 也不会返回提示信息

#提交所有文件

 

  1. git commit -m "Initial Commit" -a  

  #m表示message , -a 表示所有

 


#提交特定文件

 

  1. git commit -m "Initial Commit" file  

  # file 指定文件

  # 在github上创建一个repository 并复制URL

 

#提交到git的项目

 

  1. git remote add origin ssh://git@git.domain.tld/repository.git   

  # ssh://git@git.domain.tld/repository.git  为你新创的repository 的url

 

#查看

 

  1. git remote -v  

  # 第二次就可以不用执行提交远程路径了 

#提交你的代码

  1. git push origin master  

##(三)解决冲突和创建分支

#查看所有分支

 

  1. git branch -a   

#创建新的分支 develop

 

  1. git checkout -b develop  

  # 切换到一个新分支 'develop'
  # 如果分支存在 fatal: A branch named 'develop' already exists.

 

#切换会master 

 

  1. git checkout master  

#或者develop 分支

 

  1. git checkout develop  

切换到分支 'master'

 

 

#切换回develop 分支并做些改变

 

  1. git add develop   

#提交分支

 

  1. git commit -m "develop file" develop  


#查看所在分支

  1. git branch  

 

显示
* develop
  master

#列出目录文件

 

  1. ls  

显示

 

develop REAME

 

#切换会master 主分支

 

  1. git checkout master  
  2. git branch  

显示

  develop 
* master

#列出主分支master 的文件

显示

REAME

 

#合并分支

 

  1. git merge develop --no-ff  
    # Merge made by the 'recursive' strategy.
     0 files changed
       create mode 100644 develop 

主分支master 既有两个文件

develop REAME

#提交到远程 git

 

  1. git push  

Git 常用命令

1.创建一个新的repository:

先在github上创建并写好相关名字,描述。

$cd ~/coredump        

$git init                     //初始化

$git add .                   //把所有文件加入到索引(不想把所有文件加入,可以用gitignore或add 具体文件)

$git commit               //提交到本地仓库,然后会填写更新日志( -m “更新日志”也可)

$git remote add origin https://github.com/JGCheng/coredump.git       //增加到remote

$git push origin master    //push到github上

2.更新项目(新加了文件):

$cd ~/coredump

$git add .                  //这样可以自动判断新加了哪些文件,或者手动加入文件名字

$git commit              //提交到本地仓库

$git push origin master    //不是新创建的,不用再add 到remote上了

3.更新项目(没新加文件,只有删除或者修改文件):

$cd ~/coredump

$git commit -a          //记录删除或修改了哪些文件

$git push origin master  //提交到github

4.忽略一些文件,比如*.o等:

$cd ~/coredump

$vim .gitignore     //把文件类型加入到.gitignore中,保存

然后就可以git add . 能自动过滤这种文件

5.clone代码到本地:

$git clone https://github.com/JGCheng/coredump.git

假如本地已经存在了代码,而仓库里有更新,把更改的合并到本地的项目:

$git fetch origin    //获取远程更新

$git merge origin/master //把更新的内容合并到本地分支

6.撤销

$git reset

7.删除

$git rm  * // 不是用rm 

 

错误:

1. 在执行

   $  git remote add origin  https://github.com/JGCheng/coredump-under-Linux.git

    错误提示:fatal: remote origin already exists.

    解决办法:

    $ git remote rm origin

    然后在执行:$ git remote add originhttps://github.com/JGCheng/coredump-under-linux.git 就不会报错误了

 

2.

    $ git push origin master

    错误提示:error:failed to push som refs to.......

    解决办法:

    $ git pull origin master //先把远程服务器github上面的文件拉先来,再push 上去