Git 安装 使用

安装

Yum install git

配置

$ git config --global user.name "YourName"

$ git config --global user.email "email@example.com"

 

创建版本库

$ mkdir learngit

$ cd learngit

$ pwd

/Users/michael/learngit

 

$ git init

Initialized empty Git repository in/Users/michael/learngit/.git/

 

创建一个文件,提交到版本库

Touch readme.txt

$ git add readme.txt

 

$ git commit -m "wrote a readmefile"

[master (root-commit) eaadf4e] wrote areadme file

 1file changed, 2 insertions(+)

 create mode 100644 readme.txt

 

创建多个文件提交到版本库

$ git add file1.txt

$ git add file2.txt file3.txt

$ git commit -m "add 3 files."

 

查看版本库状态

$ git status

查看版本修改

$ git diff readme.txt

 

查看版本库提交日志

$ git log

回退到上一个版本

$git reset --hard HEAD^

回退到指定版本

$ git reset --hard 1094a

HEAD is now at 83b0afe append GPL

 

添加版本库之前查看与版本的不同

$git diff readme.txt

    

撤销工作区对某个文件的修改

$ git checkout  a.php

撤销所有修改

$git checkout

如果已经提交到版本库了,要想撤销,直接回退到上一个版本

 

删除工作区的文件

Rm a.php

找回删除的文件

Git checkout a.php ....

强制删除版本库中的文件

Git rm -f a.php

 

 

远程库创建(码云)

注册,登陆,设置ssh秘钥

ssh-keygen -t rsa -C "123456789@qq.com"

cat ~/.ssh/id_rsa.pub

将公钥文本信息,添加到设置中的ssh公钥

创建库的ssh地址:

git@gitee.com:abcde/test.git

 

将远程库跟本地库关联

git remote add origin git@gitee.com:abcde/test.git

查看关联情况:

Git remote -v

将本地库的文件推送到远程库

git push -u origin master

如果远程库不为空,会提示失败,现将远程库清空再提交

 

从远程库克隆版本库到本地

$ git clone git@gitee.com:abcde/test.git

 

添加文件推送到远程库

$git push origin master

 

创建并且换分支

$ git checkout -b dev

或者

$ git branch dev

$ git checkout dev

查看当前分支

$ git branch

 

切换到master分支,将dev分支合并

$ git checkout master

$ git merge dev   ###git merge命令用于合并指定分支到当前分支

 

删除分支

$ git branch -d dev

 

当在不同的分支上修改了相同的文件,合并时产生冲突

查看冲突信息

$git status

打开文件手动修改文件解决冲突,再提交

查看提交的结果

$git log --graph --pretty=oneline

 

分支策略,master为稳定分支

Dev为开发分支,所有的开发人员都从dev分支上checkout出自己的分支,完成后将自己的分支合并到dev分支上

 

 

 

查看分支

$ git remote -v

origin git@github.com:michaelliao/learngit.git (fetch)

origin git@github.com:michaelliao/learngit.git (push)

 

推送分支

$ git push origin master (远程主分支,还可以是远程的其他分支)

 

master分支是主分支,因此要时刻与远程同步;

dev分支是开发分支,团队所有成员都需要在上面工作,所以也需要与远程同步;

 

 

多人协作,远程推送产生的问题

从远程库clone时,默认情况下,你的小伙伴只能看到本地的master分支,你的小伙伴要在dev分支上开发,就必须创建远程origin的dev分支到本地

$ git checkout -b dev origin/dev

完成工作后,将本地的分支推送到远程的dev分支

$ git push origin dev

如果多个人都要向远程的dev分支推送,产生冲突,推送失败,解决办法先用git pull把最新的提交从origin/dev抓下来,合并冲突再推送,git pull也失败了,原因是没有指定本地dev分支与远程origin/dev分支的链接

本地的dev分支跟远程的dev分支建立链接

$ git branch --set-upstream-to=origin/devdev

 

多人协作的工作模式通常是这样:

    首先,可以试图用git push origin <branch-name>推送自己的修改;

    如果推送失败,则因为远程分支比你的本地更新,需要先用git pull试图合并;

    如果合并有冲突,则解决冲突,并在本地提交;

    没有冲突或者解决掉冲突后,再用git push origin <branch-name>推送就能成功!

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值