GIT操作
参考廖雪峰GIT:https://www.liaoxuefeng.com/wiki/896043488029600/
0、GITHUB插件
- 1、octotree:这个是可以查看GITHUB代码层级目录
- 2、gitZip for GITHUB 可以下载GITHUB仓库的部分内容。
- 在要下载的位置双击选中(左边会出现黑色对号),然后点击右下角下载按钮就可以下载。
1、初始化仓库、提交
- 配置 用户名、邮箱和公钥
参考:https://www.cnblogs.com/fixdq/p/9065283.html
1.clone代码时使用SSH协议
2.本地git配置 打开终端
-----------------------系统配置------------------------------------
git config --global core.quotepath false //支持utf-8编码 解决中文乱码
git config --global user.name username
git config --global user.email address@email.com
-----------------------系统配置------------------------------------
3.生成一个新密钥并将它添加到github
复制代码
#1 打开终端,输入一下文本,替换自己的github邮箱地址
# 注意:生成秘钥的时候,会提示输入密码,直接默认回车,
$ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
#2 生成的公钥和私钥在 /home/you/.ssh/目录下 id_rsa 和id_rsa.pub
#3 复制公钥
$ cat /home/you/.ssh/id_rsa.pub
- 初始化仓库相关操作
1、初始化仓库:
git init
2、将文件添加到暂存区:
git add .
查看状态
git status
3、提交信息:
git commit -m 备注信息
4、关联远程仓库:
git remote add origin https://github.com/CNxielong/Data-Structure-and-Algorithms.git
5、推送
git push -u origin master
6、删除
git rm XXfileName
7、重命名
git mv 改动前的名字 改动后的名字
2、查看提交的信息
1、查看提交记录
git log
2、查看某个人提交的代码记录
git log --author='XieLong'
3、查看标签
git tag
4、查看状态
git status
5、要查看远程库分支的信息
git remote
origin
6、要查看远程库URL信息
git remote -v
7、查看当前版本分支的路径
git log --oneline --graph
3、个人使用GIT常见操作
3.1 查看GIT提交记录详细信息
查看文件版本前后变化:
git show 0be33147ccd3bc283bd2f49c18f97ed6210930ce(这个是COMMIT ID——版本号ID)
3.2 文件回退
查看文件不同(代码级别)
git diff
回退到上一次提交之前的状态
git checkout -- src/com/icbc/algorithms/Fibonacci.java(文件路径)
回退到GIT提交的版本
git log (查看最近GIT的提交记录)
git reset --hard 0be3314(提交的某个最近的版本号 版本号没必要书全面 会自动匹配)
撤销追踪(已经提交到暂存区的文件)
步骤1 放弃追踪:git reset HEAD filePath/fileName
步骤2 回退到上一次提交状态 : git checkout -- src/com/icbc/algorithms/Fibonacci.java(文件路径)
将某个文件撤回到某个版本号里面
git checkout 版本号 -- filePath/fileName
3.3 文件提交
git init(已经初始化就没必要了)
git add . (增加要提交的文件)
git commit -m 提交信息
git remote add origin https://github.com/CNxielong/Data-Structure-and-Algorithms.git
git push -u origin master(分支名)
3.4 创建标签
意义:
- tag就是一个让人容易记住的有意义的名字,它跟某个commit绑在一起。
- commit号是一串数字,不如TAG标签好记。
查看标签
git tag
创建新标签 默认标签是打在最新提交的commit上的
git tag v1.0(标签名)
指定分支绑定版本号
git tag v版本号 COMMIT版本号
查看指定版本号的标签信息
git show v版本号
还可以创建带有说明的标签,用-a指定标签名,-m指定说明文字:
$ git tag -a v0.1 -m "version 0.1 released" COMMIT版本号
3.5 创建删除分支
1、首先,我们创建dev分支,然后切换到dev分支
$ git checkout -b dev
Switched to a new branch 'dev'
1、1 git checkout命令加上-b参数表示创建并切换,相当于以下两条命令:
$ git branch dev
$ git checkout dev
Switched to branch 'dev'
2、然后,用git branch命令查看当前分支:
$ git branch
* dev
master
git branch命令会列出所有分支,当前分支前面会标一个*号。
3、修改完文件后 如果要切换分支
现在,dev分支的工作完成,我们就可以切换回master分支:
$ git checkout master
Switched to branch 'master'
4、现在,我们把dev分支的工作成果合并到master分支上
git merge命令用于合并指定分支到当前分支
git merge dev
Updating 7eaf4e2..d6c5b50
Fast-forward
src/com/icbc/algorithms/TestGit.java | 2 ++
1 file changed, 2 insertions(+)
5、删除分支
合并完成后,就可以放心地删除dev分支了:
无法删除分支的情况:1、无法删除当前分支 2、无法删除有未提交文件的分支
-d:删除 -D:强制删除(可以删除有未提交文件的分支)
$ git branch -d dev
Deleted branch dev (was b17d20e).
6、合并分支
git merge 分支名
3.6 正确的合并分支
合并分支报错的情况
git merge dev
Auto-merging src/com/icbc/algorithms/TestGit.java
CONFLICT (content): Merge conflict in src/com/icbc/algorithms/TestGit.java
Automatic merge failed; fix conflicts and then commit the result.
解决冲突方式:
方式1、git merge --abort 强制保留原分支的内容,忽略其他分支的内容。
方式2、输入 git merge dev
1、代码出现 <<<<<<< HEAD ======= >>>>>>> dev 这三个符号
2、手动删除上面三个符号 保留要合并后的代码。
3、输入git status查看状态 出现
Unmerged paths:
(use "git add <file>..." to mark resolution)
both modified: TestGit.java
4、git add .
5、git commit 弹出可编辑页面。 输入i进入可编辑界面 可以输入提交标识,但是无法修改冲突代码。先按ESC后输入 :wq 退出
6、git commit -m "提交信息"
7、git push
4、多人使用GIT常见操作
4.1 查看提交记录
查看提交记录
git log
git log --oneline
git log --oneline --graph
4.2 删除不想要的分支
拉取远程代码
git fetch
查看所有分支
git branch -av
删除分支
git push origin --delete master
4.3 不同的人修改了不同的文件
1、查看所有的信息 git branch -av
2、merge信息 git merge origin/test
进入编辑命令行页面 按键盘 i进入编辑模式,编辑完 按ESC键,后输入 :wq 保存退出
3、git push
4.3 不同的人修改了想同的文件
拉取远端的分支
修改代码
提交代码