Git 安装 使用

安装

Yum install git

配置

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

$ git config --global user.email "[email protected]"

创建版本库

$ 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 "[email protected]"

cat ~/.ssh/id_rsa.pub

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

创建库的ssh地址:

[email protected]:abcde/test.git

将远程库跟本地库关联

git remote add origin [email protected]:abcde/test.git

查看关联情况:

Git remote -v

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

git push -u origin master

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

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

$ git clone [email protected]: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 [email protected]:michaelliao/learngit.git (fetch)

origin [email protected]: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>推送就能成功!

猜你喜欢

转载自blog.csdn.net/qq_41559398/article/details/80568131