GIT连接远程仓库
配置SSH KEY
# 生成ssh秘钥 邮箱为github/码云的邮箱
jason@jason:~$ ssh-keygen -t rsa -C "xxx@163.com" # 一路回车即可

jason@jason:~/.ssh$ pwd
jason@jason:~/.ssh$ ls
jason@jason:~/.ssh$ cat id_rsa.pub # 查看公钥

配置码云SSH KEY
登录码云账户进入设置界面

jason@jason:~/.ssh$ ssh -T "gitee.com" # 验证是否能登录

上传代码
配置代码仓库
在码云创建代码仓库

上传本地仓库代码
jason@jason:~/Desktop/git_test$ git remote add origin https://gitee.com/SR-Program/git_test.git # 根据提示远程链接仓库
jason@jason:~/Desktop/git_test$ git push -u origin master # 将本地仓库推送到远端仓库

- -u将本地仓库推送到远端仓库
- 由于第一次推送此时会将本地master分支与远端master分支关联
- 以后推送只需要git push即可 省略origin master

克隆仓库
创建仓库

克隆仓库
jason@jason:~/Desktop/clone_test$ git clone https://gitee.com/SR-Program/clone_test.git
jason@jason:~/Desktop/clone_test$ ls

分支合并
在 版本回退里,你已经知道,每次提交,Git都把它们串成一条时间线,这条时间线就是一个分支。截止到目前,只有一条时间线,在Git里,这个分支叫主分支,即master分支。HEAD严格来说不是指向提交,而是指master,master才是指向提交的,所以,HEAD指向的就是当前分支
创建分支
jason@jason:~/Desktop/git_test$ git checkout -b dev # 创建并且切换到分支dev
'''
git checkout -b 相当于如下命令
git branch dev 创建分支
git checkout dev 切换分支
'''
jason@jason:~/Desktop/git_test$ git branch # 列出所有分支 当前分支前面会加上*号

合并分支
# 首先使用分支文件在测试文件夹添加数据
jason@jason:~/Desktop/git_test$ echo 333 >> test.txt # 添加测试数据
jason@jason:~/Desktop/git_test$ git add test.txt # 加入缓存区
jason@jason:~/Desktop/git_test$ git commit -m "dev test add 333" # 提交

jason@jason:~/Desktop/git_test$ git checkout master # 切换分支
jason@jason:~/Desktop/git_test$ cat test.txt # 查看文件内容

jason@jason:~/Desktop/git_test$ git merge dev # 用于将其余分支合并到当前分支
jason@jason:~/Desktop/git_test$ cat test.txt

分支冲突
jason@jason:~/Desktop/git_test$ git checkout -b fenzhi1 # 创建切换新的分支
jason@jason:~/Desktop/git_test$ echo 444 >> test.txt # 添加新的测试数据
jason@jason:~/Desktop/git_test$ git add test.txt # 添加暂存区
jason@jason:~/Desktop/git_test$ git commit -m "add 444 to test" # 提交
jason@jason:~/Desktop/git_test$ git checkout master # 切换master分支
jason@jason:~/Desktop/git_test$ echo 555 >> test.txt # 添加测试数据
jason@jason:~/Desktop/git_test$ git add test.txt
jason@jason:~/Desktop/git_test$ git commit -m "add 555 to test"
jason@jason:~/Desktop/git_test$ git merge fenzhi1 # 合并分支

jason@jason:~/Desktop/git_test$ cat test.txt # 查看合并内容

- <<<<<HEAD是指主分支修改的内容
- >>>>>fenzhi1 是指fenzhi1上修改的内容
jason@jason:~/Desktop/git_test$ vim test.txt # 修改冲突的文件 保留期望存在的代码
jason@jason:~/Desktop/git_test$ git add .
jason@jason:~/Desktop/git_test$ git commit -m "解决冲突"
