git 初步使用01

  1. git工作流程
    git 初步使用01_第1张图片
  2. git的安装
    1)安装git
    2)安装乌龟
    3)汉化乌龟
  3. 创建本地仓库
    在一个空目录,打开git bash here, 输入命令 git init

删除并保留本地副本
选中目标文件,右键乌龟,删除并保留本地副本
这时候目标文件会有一个X删除标记,再提交,版本库里就没有了目标文件。
4. 将一个工程添加到本地仓库

  1. 将工程目录复制到 workspace(带有.git的文件夹)里面去
  2. 忽略.idea 和其他不用提交到仓库的文件夹
    .gitignore 这个文件需要提交
    git 初步使用01_第2张图片
    git 初步使用01_第3张图片
    5.使用github创建一个远程仓库
    New respository
    git bash here

1)ssh 模式

git remote add origin [email protected]:xxx/repo1.git

使用git bash 创建ssh 公钥与私钥
输入命令 ssh-keygen -t rsa 回车,会在用户目录下生成两个文件
a.id_rsa.pub b.id_rsa 其中id_rsa.pub是公钥,
打开github 头像 + settings SSH and GPG keys
复制公钥内容进去

可以使用命令 git push -u origin master 提交上去了
也可以使用乌龟来配置提交
2)https方式
需要用户名和密码验证
6. 从github clone到本地仓库(Code -> Clone with SSH or https)
可以选择 ssh或者https 任意一种
直接git clone [email protected]:xxx/repo1.git

  1. 解决冲突
    a. 情景一
    同一分支,B同学修改一文件已经push origin master了,A同学并不知道也没有pull,A同学也修改了同一文件,A在push origin master 的时候出现冲突,推送失败,这时候处理A同学处理步骤:
    1)需要先pull远程代码:git pull origin/master (拉取远程仓库进行自动合并) 如果能自动合并,git会提示auto merge成功,这时可以直接git push origin master
    2)如果不能自动merge,git会提示auto merge失败,需要手动解决冲突:
    git status 查看冲突情况修改冲突
    git status 查看冲突解决情况
    git add .
    git commit -m ‘解决冲突的注释说明’
    git push origin master
    比如
=======这一段就是,就是B同学修改的内容,
2+21:21
>>>>>>> b6f98f9237d1c91f9628477bf2ddb500c8f89f20
<<<<<<< HEAD 这一段就是,就是A同学修改的内容,
1+21:21
=======
1 2053
2+2100
1+2101
<<<<<<< HEAD
1+2121
=======
2+2121
>>>>>>> b6f98f9237d1c91f9628477bf2ddb500c8f89f20

A同学手动解决冲突如下:

1 20:53
2+21:00
1+21:01
1+21:21
2+21:21

8.分支相关
查看所有分支,包括远程 分支

git branch -a

如何拉去远程分支(比如拉去dev分支)

第一种方式
查看所有分支情况
git branch -a
* master
  remotes/origin/HEAD -> origin/master
  remotes/origin/dev
  remotes/origin/master
 
 在本地创建dev分支,并切换到dev分支
 git branch dev
 git checkout dev
 直接pull远程dev分支
 git pull origin dev
第二种方式
我想从远程仓库里拉取一条本地不存在的分支时
 git checkout -b 本地分支名 origin/远程分支名
 git checkout -b dev origin/dev
 如果不成功也可以先执行
 git fetch origin dev
 然后再git checkout -b dev origin/dev

  1. 从git仓库,恢复误删的文件(工作区)
    直接从本地把文件checkout出来就可以了,用不着从远程服务器上pull下来
    因为,所有的历史版本你的本地都有的。

具体做法
git checkout file

同时恢复多个被删除的文件:
git ls-files -d | xargs -i git checkout {}

你可能感兴趣的:(git)