因为一些原因,最近开始接触git和一些相关的东西。但是之前自己并没有接触过相关的版本控制的东西,比如说SVN。所以开始自学git,自学的来源是
github上关于git的介绍 以及
廖雪峰的Git教程
博客基本都是写给自己看的,如果有愿意一起讨论或者指正错误的,那真的是再感谢不过了。
git服务端
安装git
apt-get install git
新建一个git仓库的目录
ssh someone@host
mkdir /your/git/repository/
git init --bare /your/git/repository/
git客户端
克隆远程仓库
git clone ssh://user@host/your/git/repository (会把远程仓库克隆到当前目录)
设置本地git用户
git config --global user.name "yourname"
git config --global user.email "your@email"
做一些操作
echo "new file" > new.file
把变化(操作)存入git缓存区
git add new.file
(git add -A)
把变化提交到git服务器
git commit -m "what have been down"
git commit -m "modify on bbb from 65"
[detached HEAD 131dd57] modify on bbb from 65 #开了一个新的HEAD,编号131dd57开头
2 files changed, 4 insertions(+) #这次commit变更了2个文件,增加了(+)4行内容
- 合并&更新的文件到git服务器
git pull --rebase origin master
- 如果出现冲突
查看输出,一般输出中会明确有哪些问题,比如某个文件A被人改过了
在调整了冲突(把自己的文档A和服务器上pull的A做完手动合并)之后
git add XXX
git rebase --continue
- 如果在解决冲突中搞砸了
比如我不小心把存在冲突的文件rm -rf了
git rebase --abort
- 在冲突都解决完了之后,提交新的版本
git push origin master (origin是git本地的通用分支?master选项可能是HEAD或者别的名字,和远程端的分支名字有关系)