## (一)安装Git
法一:使用apt 安装
#安装git
- sudo apt-get update
- sudo apt-get install git
#配置 你的github
- git config --global user.name "Your Name"
- git config --global user.email "[email protected]"
查看配置信息
- git config --list
编辑配置信息
- nano ~/.gitconfig
#修改
- [user]
- name = Your Name
- email = [email protected]
#创建公钥
- ssh-keygen -C ‘you email [email protected]‘ -t rsa
这会在 用户目录 ~/.ssh/ 下建立相应的密钥文件
#上传公钥
在 github.com 的界面中 选择右上角的 Account Settings,然后选择 SSH Public Keys ,选择新加。
Title 可以随便命名,Key 的内容拷贝自 ~/.ssh/id_rsa.pub 中的内容,完成后,可以再使用
- ssh -v [email protected]
进行测试。看到下面的信息表示验证成功。
...
Exit status 1
##(二)使用git
#创建git 的根目录
- mkdir -p ~/git/testing
- cd ~/git/testing
#创建测试文件
- touch REAME
#初始化该目录
- git init
#新增文件到git 注意后面的 . 表示当前目录
- git add .
#没有提示信息就是好的提示信息,但没有说明git 也不会返回提示信息
#提交所有文件
- git commit -m "Initial Commit" -a
#m表示message , -a 表示所有
#提交特定文件
- git commit -m "Initial Commit" file
# file 指定文件
# 在github上创建一个repository 并复制URL
#提交到git的项目
- git remote add origin ssh://[email protected]/repository.git
# ssh://[email protected]/repository.git 为你新创的repository 的url
#查看
- git remote -v
# 第二次就可以不用执行提交远程路径了
#提交你的代码
1. git push origin master
##(三)解决冲突和创建分支
#查看所有分支
- git branch -a
#创建新的分支 develop
- git checkout -b develop
# 切换到一个新分支 ‘develop‘
# 如果分支存在 fatal: A branch named ‘develop‘ already exists.
#切换会master
- git checkout master
#或者develop 分支
- git checkout develop
切换到分支 ‘master‘
#切换回develop 分支并做些改变
- git add develop
#提交分支
- git commit -m "develop file" develop
#查看所在分支
- git branch
显示
* develop
master
#列出目录文件
- ls
显示
develop REAME
#切换会master 主分支
- git checkout master
- git branch
显示
develop
* master
#列出主分支master 的文件
显示
REAME
#合并分支
- git merge develop --no-ff
# Merge made by the ‘recursive‘ strategy.
0 files changed
create mode 100644 develop
主分支master 既有两个文件
develop REAME
#提交到远程 git
- 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 上去