git使用方法总结Sourcetree+Github

文章目录

  • 安装
  • 配置
  • 基本操作
    • git init
    • git clone
    • git add
    • git diff
    • git commit
    • git reset HEAD
    • git rm
    • git mv
  • 分支
    • 列出分支
    • 创建分支
    • 切换分支
    • 删除分支
    • 合并分支
    • 合并冲突
  • 查看提交历史
  • git可视化界面
      • 本地数据库
      • git远程数据库
      • 冲突解决

前言
#为什么使用git
自己提交的多个版本进行管理
多人合作避免覆盖

#远程数据库和本地数据库
远程数据库: 配有专用的服务器,为了多人共享而建立的数据库。
本地数据库: 为了方便用户个人使用,在自己的机器上配置的数据库。

安装

安装HomeBrew,https://brew.sh/
$ brew install git

配置

生成密钥,一路回车、用默认选项
$ ssh-keygen -t rsa
使用命令行复制到粘贴板
$ cat ~/.ssh/id_rsa.pub | pbcopy
在http://。。。。。 中粘贴,添加ssh公钥
使用ssh密钥连接

基本操作

git init

在目录中创建新的Git仓库
$ git init

git clone

克隆数据库
git clone

git add

将文件添加到缓存
$ git add Main.java
添加当前项目的所有文件
$ git add .
查看项目的当前状态
绿"M": 改动后添加到缓存 红"M": 有改动 绿"M"红"M": 在添加到缓存后又有改动
$ git status -s

git diff

查看执行 git status 的结果的详细信息
尚未缓存的改动:git diff
查看已缓存的改动: git diff --cached
查看已缓存的与未缓存的所有改动:git diff HEAD
显示摘要而非整个 diff:git diff --stat

git commit

使用 git add 命令将想要快照的内容写入缓存区, 执行 git commit 将缓存区内容添加到仓库
commit后再输入git status很干净
$ git commit -m ‘第一次提交’

git reset HEAD

取消已缓存的内容

git rm

从工作目录中手工删除文件 运行$ git status 显示 红D Main.java
从已跟踪文件清单中移除,然后提交
$ git rm
仅从跟踪清单中删除,仍然保留在当前工作目录中
$ git rm --cached
进入某个目录,删除该目录下的所有文件和子目录
$ git rm –r *

git mv

移动或重命名一个文件、目录、软连接’
$ git add README
$ git mv README README.md

分支

列出分支

$ git branch
查看所有分支
$ git branch -a

创建分支

$ git branch dev

切换分支

$ git checkout dev
创建并切换到分支
$ git checkout -b dev

删除分支

$ git branch -d dev

合并分支

$ git merge dev

合并冲突

查看所有分支:master(当前)和1.0
$ git branch -a
master分支:修改Main.java内容为1
$ vi Main.java
$ git add Main.java
$ git commit -m “change branch1”
切换到1.0分支:修改Main.java内容为2
$ git checkout 1.0
$ vi Main.java
$ git add Main.java
$ git commit -m “change branch1”
合并master到当前分支
$ git merge master
提示冲突,因为两个分支库中内容有冲突,对冲突内容进行修改
$ vi Main.java
<<<<<<,>>>>>>,=分隔的上下就是冲突的部分,只保留上面或者下面,将<<<<<<,>>>>>>和=这3行都删掉,这里Main.java只保留2
$ git add Main.java
$ git commit -m “chang branch”
$ git merge master

查看提交历史

$ git log
按q退出log

参数:
–oneline 查看历史记录的简洁的版本
–oneline -5 只显示5行
–graph 查看历史中什么时候出现了分支、合并 开启拓扑图选项
–reverse 参数来逆向显示所有日志
–author=zhoujie19
–before={3.weeks.ago}
–after={2020-07-18}
$ git log --oneline -5 --graph --author=zhoujie19

git add .
git commit -m “add code”
git push origin HEAD:refs/for/master

git可视化界面

本地数据库

1.git安装
这里使用免费的SourceTree客户端
SourceTree下载地址: http://www.sourcetreeapp.com/
2.新建本地数据库
在任意地方新建文件夹test,启动SourceTree,新建-创建本地仓库。
git使用方法总结Sourcetree+Github_第1张图片
选择之前创建的空文件夹test。
git使用方法总结Sourcetree+Github_第2张图片
git使用方法总结Sourcetree+Github_第3张图片
本地数据库创建成功。
3.提交文件到本地数据库
在ttest目录里新建一个名为「data.txt」的文本文件,在文件中输入:hello world!
在SourceTree中双击打开test
git使用方法总结Sourcetree+Github_第4张图片
选择data.txt,输入提交信息:first commit,点击提交。
git使用方法总结Sourcetree+Github_第5张图片
选择历史,查看提交结果。
git使用方法总结Sourcetree+Github_第6张图片

git远程数据库

1.在GitHub建立远程数据库
登陆自己的GitHub账号并新建一个名为gittest的仓库
git使用方法总结Sourcetree+Github_第7张图片
2.更新本地信息到远程数据库 push
在test中点击右上角设置-远程仓库-添加

git使用方法总结Sourcetree+Github_第8张图片
在远端中显示origin
git使用方法总结Sourcetree+Github_第9张图片
点击推送,确定后需要填github用户名与密码。

git使用方法总结Sourcetree+Github_第10张图片万一用户名或密码填写错误,在这里删掉,下次推送重新填写。
git使用方法总结Sourcetree+Github_第11张图片
推送结果:

远程数据库的文件列表已更新。
git使用方法总结Sourcetree+Github_第12张图片
3.复制远程数据库信息到本地 clone
新建文件夹test2,在Soucetree中新建-从url克隆
git使用方法总结Sourcetree+Github_第13张图片
填入github中的克隆链接
git使用方法总结Sourcetree+Github_第14张图片git使用方法总结Sourcetree+Github_第15张图片
git使用方法总结Sourcetree+Github_第16张图片
4.对克隆的远程数据库进行更新 push
将test2中的data.txt内容修改为:hello world123!
Soucetree中打开test2,选中data.txt
git使用方法总结Sourcetree+Github_第17张图片
输入提交信息,进行提交。
git使用方法总结Sourcetree+Github_第18张图片
点击推送。

git使用方法总结Sourcetree+Github_第19张图片
git使用方法总结Sourcetree+Github_第20张图片
可以看到github的远程数据库已更新。
5.将远程数据库信息更新到本地数据库 pull
将远程数据库上修改过的内容更新到本地数据库,就要用到pull功能。这里将远程数据库中修改过的内容更新到本地数据库test。
打开test,看到远程数据库内容已被修改。
git使用方法总结Sourcetree+Github_第21张图片
点击拉取。

git使用方法总结Sourcetree+Github_第22张图片
打开test中的data.txt文件内容已更新。

冲突解决

1.冲突原因
这里我们用test和test2来制造一个冲突。
在test中data.txt中添加一行内容:motion1,并进行提交。
git使用方法总结Sourcetree+Github_第23张图片
在test2中data.txt中添加一行内容:motion2,并进行提交。
git使用方法总结Sourcetree+Github_第24张图片
从test2 推送内容到远程数据库。
git使用方法总结Sourcetree+Github_第25张图片
再从test 推送内容到远程数据库,此时出错。因为test的上一版本和远程数据库当前版本有冲突。

2.解决冲突
解决方法:修改冲突的内容。
此时test的界面
git使用方法总结Sourcetree+Github_第26张图片
先更新到与远程服务器 一致,使用pull拉取功能。

显示合并冲突,点击确定。
git使用方法总结Sourcetree+Github_第27张图片
进行手动合并,打开test中data.txt。
git使用方法总结Sourcetree+Github_第28张图片
<<<<<<<与>>>>>>>>之间的这3行表示冲突的部分,=====上面是一个版本,下面是一个版本,保留motion1,修改后。
git使用方法总结Sourcetree+Github_第29张图片
再次进行提交。
git使用方法总结Sourcetree+Github_第30张图片
冲突已被整合。

你可能感兴趣的:(工具,git,github,sourceTree)