## (一)安装git
法一:使用apt 安装
#安装git
sudo apt-get update
sudo apt-get install git
法二:使用下载安装
#依赖库
sudo apt-get update
sudo apt-get install build-essential libssl-dev libcurl4-gnutls-dev libexpat1-dev gettext unzip
#复制git 的链接地址 https://github.com/git/git/archive/master.zip
#下载
wget https://github.com/git/git/archive/v1.9.2.zip -O git.zip
unzip git.zip
cd git-*
#安装
make prefix=/usr/local all
sudo make prefix=/usr/local install
更新旧版本
make prefix=/usr/local all
sudo make prefix=/usr/local install
#配置 你的github
git config --global user.name "Your Name"
git config --global user.email "youremail@domain.com"
查看配置信息
git config --list
编辑配置信息
nano ~/.gitconfig
#修改
[user]
name = Your Name
email = youremail@domain.com
参照:https://www.digitalocean.com/community/tutorials/how-to-install-git-on-ubuntu-14-04
#创建公钥
ssh-keygen -C 'you email address@gmail.com' -t rsa
这会在 用户目录 ~/.ssh/ 下建立相应的密钥文件
#上传公钥
在 github.com 的界面中 选择右上角的 Account Settings,然后选择 SSH Public Keys ,选择新加。
Title 可以随便命名,Key 的内容拷贝自 ~/.ssh/id_rsa.pub 中的内容,完成后,可以再使用
ssh -v git@github.com
进行测试。看到下面的信息表示验证成功。
...
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 remote add origin ssh://git@git.domain.tld/repository.git
ssh://git@git.domain.tld/repository.git 为你新创的repository 的url
#查看
git remote -v
第二次就可以不用执行提交远程路径了
git push origin master
#参照
https://www.digitalocean.com/community/tutorials/how-to-use-git-effectively
##(三)解决冲突和创建分支
#查看所有分支
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 上去参照:
https://www.digitalocean.com/community/tutorials/how-to-use-git-branches
blog.csdn.net/biosd/article/details/9115837
www.cnblogs.com/jackge/archive/2013/08/17/3264801.html