本教程主要是对廖大神的教程进行的整理廖雪峰
一、分布式管理
二、git命令
1.安装
1)Debian或Ubuntu Linux上
sudo apt-get install git
2)如果是其他Linux版本,可以直接通过源码安装。先从Git官网下载源码,然后解压,依次输入:./config,make,sudo make install这几个命令安装就好了
3)在Windows上安装Git,在Windows上使用Git,可以从Git官网直接下载安装程序,(网速慢的同学请移步国内镜像),然后按默认选项安装即可。安装完成后,在开始菜单里找到“Git”->“Git Bash”,蹦出一个类似命令行窗口的东西,就说明Git安装成功!
安装之后使用命令
$ git config --global user.name"Your Name"$ git config --global user.email"[email protected]"
2.创建版本库
创建目录,pwd查看,通过git init变成git可管理仓库
$ mkdir learngit
$ cd learngit
$ pwd
$git init
3.添加文件到版本库
创建文本文件,并把它提交到仓库上,注意这个文本在git目录下,git status可以查看状态,是否已修改git diff可以查看做了什么修改,git log可以查看各种版本提交日志
$git add readme.txt
$ gitcommit-m"wrote a readme file"
$ git status
$ git diff readme.txt
$ git log
4.版本回退
HEAD表示当前版本,HEAD^是回退上一版本,HEAD^^回退上上个版本。要是后悔回退了,可以用git reflog查看移除版本的commod id然后恢复
$ git reset--hard HEAD^
$git reflog
5.撤销修改
没add的时候可以checkout撤销
$ git checkout -- readme.txt
add之后的撤销:$ git resetHEAD readme.txt
丢弃工作区的修改
$ git checkout-- readme.txt
6.删除文件
删除并提交到工作区:$ git rm test.txtrm 'test.txt'$ gitcommit-m"remove test.txt"
撤销删除:$ git checkout -- test.txt
三、git的工作区和暂存区
工作区就是leangit目录,暂存区就在.git目录的版本库的一个区,git add时添加到暂存区,git -commit添加到工作去
每次修改,如果不用git add到暂存区,那就不会加入到工作区中。
四、远程仓库
github
1.创建SSH
在用户主目录下,看看有没有.ssh目录,如果有,再看看这个目录下有没有id_rsa和id_rsa.pub这两个文件,如果已经有了,可直接跳到下一步。如果没有,打开Shell(Windows下打开Git Bash),创建SSH Key:$ ssh-keygen -t rsa -C"[email protected]",登陆GitHub,打开“Account settings”,“SSH Keys”页面:然后,点“Add SSH Key”,填上任意Title,在Key文本框里粘贴id_rsa.pub文件的内容,然后就可以创建好了,SSH就是保证安全性的。
2.添加到远程仓库
create reposttiry,然后关联,michaelliao改成自己的账号,push就可以推上去了
$ git remote add origin [email protected]:michaelliao/learngit.git
$ git push -u origin master
以后只要本地提交了就可以执行命令:$ git push origin master
出现过这样的失败,原因是不同步,本地没有READMD.md
解决办法git pull --rebase origin master
查看远程仓库
$ git remote -v
解除关联
$ git remote rm github
3.从远程仓库克隆
可以克隆到本地
$ git clone [email protected]:michaelliao/gitskills.git
五.分支管理
1.创建分支及基本使用
就是创建自己能看到的分支,项目管理中别人看不到你的分支
$ git checkout -b dev相当于下面两条指令,创建分支并切换
$ git branch dev
$ git checkout dev
然后用$ git branch查看当前分支,在分支修改后的提交$ git add readme.txt$ git commit -m"branch test"
切回master:$ git checkout master
将分支的结果合并:$ git merge dev
删除分支:$ git branch -d dev
六、实际应用
项目要上传到github中来进行项目协作
1.先建本地的git仓库
2.新建一个github仓库,注意不要新建readmd,因为后面关联到远程库的时候如果远程库初始信息和本地不一致就会报错。
3.把项目文件加到git仓库目录下,再加到git里,然后commit提交
4.与远程仓库建立联系以及解除关联
5.本地仓库push进远程库
6.发布更新:
git status
git add *
git commit -m "发布更新"
git pull
git push origin master