1.创建账户
git config --global user.name "yourname"
git config --global user.email "youreami@xx.xxx"
git congig --list //查看配置列表
1.1基础操作:
Git init【创建一个空的Git库。在当前目录中产生一个.git 的子目录】
Git add【将当前工作目录中更改或者新增的文件加入到Git的索引中;git add .表示添加全部】
Git rm【从当前的工作目录中和索引中删除文件。】
Git commit【提交当前工作目录的修改内容。】
Git status 【查看版本库的状态。可以得知哪些文件发生了变化,哪些文件还没有添加到git库中等等。】
Git log 【查看历史日志,包含每次的版本变化。每次版本变化对应一个commit id。 】
Git merge 【把服务器上下载下来的代码和本地代码合并。或者进行分支合并。 】
Git diff 【把本地的代码和index中的代码进行比较,或者是把index中的代码和本地仓库中的代码进行比较。 】
Git checkout 【切换到分支;[git checkout .]——返回本次的最初修改】
1.2分支操作
git branch 分支名 父分支名称【创建分支】
git checkout 分支名【切换分支】
git branch -d 分支名【删除分支】
git tag 标签名 分支名【打标签】
git branch -m 原分支名 新分支名【修改分支名】
查看你的public key
git remote add origin ssh链接 //origin可以自己命名(这个是主机名)
git pull origin master //从远程获取(并且自动合并)
git fetch origin master //从远程获取(不会自动合并)
git clone <版本库的网站> //拷贝(克隆)一份
git push origin master //变化提交到了远程库
5.合并远程与本地版本库
把服务器上下载下来的代码和本地代码合并。或者进行分支合并。 (git merge master)
例如:当前在master分支上,若想将分支dev上的合并到master上,则git merge dev
注意:git merge nov/eclair_eocket (是将服务器git库的eclair_eocket分支合并到本地分支上)
git rebase nov/eclair_eocket (是将服务器git库的eclair_eocket分支映射到本地的一个临时分支上,然后将本地分支上的变化合并到这个临时分支,然后再用这个临时分支初始化本地分支)
6.git发生冲突
其中:冲突标记<<<<<<< (7个<)与=======之间的内容是我的修改,=======与>>>>>>>之间的内容是别人的修改。
此时,还没有任何其它垃圾文件产生。
最简单的编辑冲突的办法,就是直接编辑冲突了的文件(test.txt),把冲突标记删掉,把冲突解决正确。
git创建ssh是碰到的一个问题
1.当设置完git的user.name和user.email后
2.创建本地ssh ssh-keygen -t rsa -C "xxxxx@xxxxx.com"
3.查看你的public key cat ~/.ssh/id_rsa.pub
4.把public key添加到线上的代码托管的地方化
5.ssh -T git@git.oschina.net验证是否成功
6这时候会出现下图的这些东西,
有一句问句Are you sure you want to continue connect(yes/no)?
这里一定要输入yes,不能直接回车,否则会出现连接失败的
7.如果输入yes,会有一句waring,不用管,这样就连接成功了。。。NND,弄了好几天
git管理项目: 【不仅仅适用git】
- 项目一步一步做下去,一个功能提交一次。功能修改单独提交一次。
- 详细的文件夹分类,命名
- 分支:主要功能都可以运行了,然后,再添加功能的时候,使用分支;如果,功能OK,合并到主干;不OK,删除分支;
- 标签:建立标签,确定每一个阶段,相当于版本号。
- 文件夹分类:大的功能一个文件夹,小的功能再一个文件夹;建立readme文档,对于每个文件夹都需要说明功能;列出所有的目录结构
例如:
主目录:
————分目录1
———————————| 1.1 子目录
———————————| 1.2 子目录
———————————| 1.3 子目录
———————————| 1.0 分目录下面的入口文件
———————分目录2
———————分目录3
全文只是自己初学git,以及对于git运用的一些想法。最好的学习是总结,是记录。。。。加油.........