一、git初始化

git思路:首先从代码库fork一份最新代码到自己git账号里面,后期所有修改全在自己账号里的git代码库进行,提交代码完成开发后,再以发送merge request请求的方式,把自己负责的分支代码合并到主服务器git代码库中(fork的代码库)

 

本地git使用:

设置全局参数:名字和Email地址

git config --global user.name "Your Name"
git config --global user.email "email@example.com"

配置对等性验证
ssh-keygen -t rsa -C "youremail@example.com" 生成公钥

配置 id_rsa.pub 中的公钥到git服务器中

 

从远程仓库克隆代码至本地
git clone git@github.com:michaelliao/gitskills.git

注意:

https://github.com/michaelliao/gitskills.git  https协议每次推送都要输入密码

修改协议步骤:

查看传输协议

git remote -v

 

删除原始地址
git remote rm origin

 

添加新地址
git remote add origin git@github.com:username/repository.git

注:使用多个远程库时,我们要注意,git给远程库起的默认名称是origin,如果有多个远程库,我们需要用不同的名称来标识不同的远程库。

例如:

git remote add github git@github.com:michaelliao/learngit.git
git remote add gitee git@gitee.com:liaoxuefeng/learngit.git

 

确认传输协议

git remote -v

 

二、git使用

拉取远程仓库代码到本地

git pull

 

查看所有分支
git branch


创建并切换到dev分支,这个命令等于git branch + git checkout,下面命令是克隆当前所在分支,然后以dev命名
git checkout -b dev

注意:切换分支之前,留心你的暂存区或者工作目录里,那些还没有提交的修改,它会和你即将检出的分支产生冲突从而阻止 Git 为你切换分支。切换分支的时候最好保持一个清洁的工作区域。或使用 stashing 和 commit amending命令来绕过这个问题


添加文件到暂存区
git add readme.txt


从暂存区提交文件到版本库
git commit -m "branch test"


切换到master分支
git checkout master


合并dev分支代码到master分支
git merge dev


删除dev分支
git branch -d dev


查看所有分支
git branch


推送本地master分支到远程仓库,并关联本地master和远程master(-u 参数作用),origin 是远程仓库的默认叫法
git push -u origin master

git push origin master

 

三、git回滚

git回滚分两种:reset、revert

两个命令适用场景不一样

reset:如果想恢复到之前某个提交的版本,且那个版本之后提交的版本我们都不要了,就可以用这种方法。

revert:如果我们想恢复之前的某一版本(该版本不是merge类型),但是又想保留该目标版本后面的版本,记录下这整个版本变动流程,就可以用这种方法。

reset命令使用流程:

查看版本号

git log --pretty=oneline

 

回退版本

git reset --hard 目标版本号

 

推送到远程库(-f 参数为强制提交:此时如果用“git push”会报错,因为我们本地库HEAD指向的版本比远程库的要旧)

git push -f

 

 

revert命令使用流程:

查看版本号

git log --pretty=oneline

 

回滚版本

git revert -n 版本号

 

提交版本(这里可能会出现冲突,那么需要手动修改冲突的文件。而且要git add 文件名。)

git commit -m "备注信息"

 

推送到远程库

git push

 

详细问题参考官方文档:https://git-scm.com/book/zh

posted on 2019-07-01 16:08  06  阅读(123)  评论(0编辑  收藏  举报