1、Git和SVN的区别
2、绑定远程仓库
绑定远程仓库
$ git config --global user.name "zhangsan"
$ git config --global user.email "zhangsan@qq.com"
ssh key(rsa加密)
-
检查
cd ~/.ssh
默认目录: C:\Users\specter.ssh -
生成公钥和私钥
$ ssh-keygen -t rsa -C "zhangsan@qq.com"
-
github粘贴公钥
3、创建版本库
-
初始化一个Git仓库,使用
git init
-
添加文件到Git仓库,分两步
- 第一步,使用
git add <file>
,可重复添加多个文件 - 第二步,使用
git commit
完成
git是不能管理空的文件夹的
4、版本回退
-
掌握工作区的状态,使用
git status
-
使用
git diff
查看修改内容
HEAD指向当前版本,版本间穿梭使用
git reset --hard <commit_id>
-
使用
git log
查看提交历史 -
使用
git reflog
查看命令历史
工作区和版本库
工作区有一个隐藏目录.git是Git的版本库。
Git的版本库里存了很多东西,其中最重要的就是称为stage的暂存区,还有Git为我们自动创建的第一个分支master,以及指向master的一个指针叫HEAD
5、分支管理
-
使用
git branch
查看当前分支 -
使用
git checkout master
切换会主分支 -
使用
git merge dev
合并分支,使用git branch -d dev
删除合并的分支 -
使用
git log --graph
查看分支合并图
合并分支时,加上
--no-ff
参数就可以用普通模式合并,合并后的历史有分支,能看出来曾经做过合并; 而默认fast forward
合并就看不出来曾经做过合并
6、多人协助
-
推送之前需要先用
git pull
获取更新 -
错误提示“no tracking information”,说明本地分支和远程分支的链接关系没有建立。
git branch --set-upstream <branch> origin/<branch-name>
-
合并有冲突,则解决冲突,并在本地提交
-
解决掉冲突后,再用
git push origin <branch>
推送
7、标签管理
-
使用
git tag <tag_name>
默认HEAD上,使用git tag查看所有标签 -
使用
git tag <tag_name> <commit_id>
提交到指定的commit上 -
使用
git tag <tag_name> <commit_id>
提交到指定的commit上 -
使用
git tag -a <tag_name> -m ""
————————————————————————————————————
本地 => 远程
-
本地新建一个git仓库
git init
-
初始化本地git仓库
git add .
git commit -m ""
-
关联一个远程库
git remote add origin git@server-name:path/repo-name.git
-
第一次推送master分支的所有内容到远程
git push -u origin master
-
以后推送
git push origin master
远程 => 本地
-
cd相关根目录下
-
克隆
git clone git@server-name:path/repo-name.git