git 安装 基本操作(add commit 分支合并 冲突解决)

一、安装 (mac和windows差别不大)

由于换了mac,下面介绍mac的安装

1.终端输入 git ,查看是否已经安装git

2.设置username和email

  

git config --global user.name "test"
git config --global user.email "88888888@qq.com"

  

3.通过终端命令创建ssh key

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

  

4.配置id_rsa.pub 公钥到github或者gitlab

通过 open .ssh/id_rsa.pub 或者 cat .ssh/id_rsa.pub 打开文件,复制公钥,然后在github或者gitlab上配置

一般步骤:1.点击settings,在个人信息里,可以找到New SSH key,然后把你的公钥添加上去

 

5.链接验证

ssh -T git@github.com 

  

二、基本操作

1.克隆项目 add commit pull push

  a:复制ssh地址,然后在你想要复制项目的地方,执行git clone ssh地址

  例如:

    

git clone git@github.com:wenmobo/LearnGit.git

  

 b: 把文件添加到git进行管理,git add 

    提交文件,git commit

    拉取远程仓库文件 git pull

    push本地commit到远程仓库 git push

 

三、git 创建仓库 add commit

1.初始化一个Git仓库,使用git init命令。

2.添加文件到Git仓库,分两步:

  1. 使用命令git add <file>,注意,可反复多次使用,添加多个文件;
  2. 使用命令git commit -m <message>,完成

四、版本回退

1.HEAD指向的版本就是当前版本,因此,Git允许我们在版本的历史之间穿梭,使用命令git reset --hard commit_id

2.穿梭前,用git log可以查看提交历史,以便确定要回退到哪个版本

3.要重返未来,用git reflog查看命令历史,以便确定要回到未来的哪个版本

五、工作区和暂存区

git status 可以查看当前的状态

 可以简单的理解git add 是把文件先添加到暂存区stage ,git commit 之后才把文件提交到分支或者master上。commit之后如果没有其它修改,那么stage暂存区就是干净的

六、修改

1.每次修改就是修改了工作区的文件。如果没有git add 那么就没有把文件提交到暂存区,如果2次修改,第一次git add,第二次没有执行git add 添加到暂存区,那么使用git commit的时候,第二次修改不会被提交到仓库

2.可以使用git diff HEAD -- readme.txt命令可以查看工作区和版本库里面最新版本的区别

七、撤销修改

1.当你改乱了工作区某个文件的内容,想直接丢弃工作区的修改时,用命令git checkout -- file   切记加上--  .会回退到git add 或者git commit的文件

git checkout -- readme.txt

 2.当你不但改乱了工作区某个文件的内容,还添加到了暂存区时,想丢弃修改,分两步,第一步用命令git reset HEAD <file>,就回到了场景1,第二步按场景1操作  

git reset HEAD readme.txt

 八、删除文件

1.git rm test.txt 删除文件,并且git commit 那么文件会被删除

2.如果发现删除出错,可以通过git checkout -- test.txt 恢复文件

九、添加远程库

1.要关联一个远程库,使用命令git remote add origin git@server-name:path/repo-name.git

2. 关联后,使用命令git push -u origin master第一次推送master分支的所有内容

3.此后,每次本地提交后,只要有必要,就可以使用命令git push origin master推送最新修改

十、从远程库克隆

 1.要克隆一个仓库,首先必须知道仓库的地址,然后使用git clone命令克隆  Git支持多种协议,包括https,但ssh协议速度最快

 git clone git@github.com:michaelliao/gitskills.git

 十一、创建和切换分支

Git鼓励大量使用分支:

查看分支:git branch

创建分支:git branch <name>

切换分支:git checkout <name>或者git switch <name>

创建+切换分支:git checkout -b <name>或者git switch -c <name>

合并某分支到当前分支:git merge <name>

删除分支:git branch -d <name>

十二、git pull 冲突的解决方式 可以参考https://www.cnblogs.com/zjfjava/p/10280247.html

1. 忽略本地修改,强制拉取远程到本地

git fetch --all
git reset --hard origin/dev
git pull

2.未commit先pull,视本地修改量选择revert或stash

修改量小:-> revert(把自己的代码取消) -> 重新pull -> 在最新代码上修改 -> [pull确认最新] -> commit&push

 

 

修改量大:-> stash save(把自己的代码隐藏存起来) -> 重新pull -> stash pop(把存起来的隐藏的代码取回来 ) -> 代码文件会显示冲突 -> 右键选择resolve conflict -> 打开文件解决冲突 ->commit&push

 

 3.已commit未push,视本地修改量选择reset或直接merge

修改量小:

-> reset(回退到未修改之前,选hard模式,把自己的更改取消) -> 重新pull -> 在最新代码上修改 -> [pull确认最新] -> commit&push

 

 修改量大:

-> commit后pull显示冲突 -> 手动merge解决冲突 -> 重新commit -> push

 

 

 

 

 

posted on 2020-10-09 01:31  我是你爷爷的爷爷  阅读(385)  评论(0编辑  收藏  举报

导航