概述
Git学习
- 一个关于git的小游戏
- 初始化本地库:使用git init指令
- 设置签名
- 1.设置项目级别/仓库级别的签名
- 2.设置系统用户级别的签名
- 两者签名可以同时存在,但两者不可都不存在。优先级方面,项目级别的签名大于系统级别的签名。
- 查看git当前的状态:git status
- 将文件交给git管理:git add hello.txt
- 将暂存区的文件提交至本地库:git commit hello.txt
- 文件从暂存区撤回:git rm --cached hello.txt
- 将文件提交至本地库并进行提交描述:git commit -m "My first commit.new file hello.txt" hello.txt
- 查看本地库中提交的历史版本
- 1.git log 查看最详细的内容
- 2.git log --pretty=oneline
- 3.git log --oneline
- 4.git reflog 可知道回到某个版本记录所需要的索引值
- 5.git查看某次commit的具体内容
- 1)查看commit内容
- 2)查看最近n次提交的修改
- 当日志过多时,出现(END)情况
- 版本的回退和前进
- 1.使用版本的索引值(推荐)
- 2.使用^符号
- 3.使用~符号
- 4.使用-f命令
- git reset的三个参数对比
- 1.--soft
- 2.--mixed
- 3.--hard
- git commit --amend修改已commit的注释信息
- git help指令的运用
- 回退提交至缓存区但未提交至本地库操作
- 比较文件指令
- 1.git diff hello.txt
- 2.git diff [本地库中历史版本] [文件名]
- 3.当未指定文件名时,将比较所有文件的差异
- 分支管理
- 1.什么是分支?
- 2.分支操作
- a.创建分支:git branch hot_fix
- b.查看分支:git branch -v
- c.切换分支:git checkout hot_fix
- d.合并分支:git merge hot_fix
- e.分支冲突
- 冲突的表现
- 冲突的解决
- 远程库的建立
- 1.对远程库取别名:git remote add [别名] [远程库的地址]
- 2.查看远程库的信息:git remote -v
- 将本地库文件推送至远程仓库
- 当本地库的版本不是远程库最新版本时,不能推送至远程库,必须先拉取远程库的文件再进行推送。
- 克隆操作:将远程库的文件复制至本地库
- 远程库的拉取
- git指令大全
- 跨团队协作
- SSH免密登录
- idea操作git
一个关于git的小游戏
游戏连接
初始化本地库:使用git init指令
生成了一个.git的文件,该文件为隐藏文件。必须使用ls -la进行查看。
设置签名
1.设置项目级别/仓库级别的签名
设置用户名的指令:git config user.name zhangsan
设置用户邮箱的指令:git config user.email 6666@163.com
设置完成后,用户信息将保存至.git/config文件下
2.设置系统用户级别的签名
设置用户名的指令:git config --global user.name zhangsan
设置用户邮箱的指令:git config --global user.email 666@163.com
设置完成后,用户信息将保存至~/.gitconfig文件下
两者签名可以同时存在,但两者不可都不存在。优先级方面,项目级别的签名大于系统级别的签名。
查看git当前的状态:git status
将文件交给git管理:git add hello.txt
hello.txt是自己创建的文件,操作完成后文件将存至暂存区。
将暂存区的文件提交至本地库:git commit hello.txt
文件从暂存区撤回:git rm --cached hello.txt
文件将重新回到工作区,git不再管理该文件
将文件提交至本地库并进行提交描述:git commit -m “My first commit.new file hello.txt” hello.txt
引号内,填写自己提交的描述
查看本地库中提交的历史版本
1.git log 查看最详细的内容
多屏显示控制方式:
空格 向下翻页
b 向上翻页
q 退出
2.git log --pretty=oneline
3.git log --oneline
4.git reflog 可知道回到某个版本记录所需要的索引值
每个版本的最开始的黄色字体为索引值。
5.git查看某次commit的具体内容
1)查看commit内容
git show commit_id
2)查看最近n次提交的修改
git log -p -n
当n为1时,代表查看最近一次修改的内容
当日志过多时,出现(END)情况
可以按Q即可
版本的回退和前进
1.使用版本的索引值(推荐)
git reset --hard 【版本的索引值】
2.使用^符号
git reset --hard HEAD^
该指令只能后退,一个^表示后退一步。
3.使用~符号
git reset --hard HEAD~n
该指令只能后退,n表示后退n步。
4.使用-f命令
git branch -f master HEAD~3
该指令将master分支强制指向HEAD第3级父提交。
git reset的三个参数对比
1.–soft
HEAD^ 表示上一个版本;HEAD^^ 表示上上个版本;
HEAD~1表示上一个版本;HEAD~2 表示上上个版本;
仅仅移动本地库中的head指针
使用该命令后,会将指定版本为起始点,将起始点后所有的新增或修改后的代码保留,同时仅回退commit信息,不回退index信息。
2.–mixed
git reset --mixed HEAD^ 回退前一个版本
git reset --mixed HEAD^^ 回退上上个版本
移动本地库中的head指针和重置暂存区
使用该命令后,会将指定版本为起始点,将起始点后的所有新增或修改后的代码保留,同时回退commit和index信息。
3.–hard
移动本地库中head指针、重置暂存区、重置工作区
可参看文章详解
git commit --amend修改已commit的注释信息
1)输入命令,进入vim界面
git commit --amend
2)进行编辑模式
按i或者a进行编辑
3)修改注释信息,然后退出编辑模式
按键ESC可退出编辑模式(与vim用法相同)。
4)完成修改,查看结果
在非编辑模式下输入:wq(与vim用法相同)可保存退出。
参考文献
git help指令的运用
如git help reset可了解reset指令的相关参数
回退提交至缓存区但未提交至本地库操作
git reset --hard HEAD
比较文件指令
1.git diff hello.txt
比较工作区的文件与暂存区文件的差异
2.git diff [本地库中历史版本] [文件名]
比较工作区的文件与本地库历史版本的差异。如:git diff head^ hello.txt.
3.当未指定文件名时,将比较所有文件的差异
分支管理
1.什么是分支?
在版本控制过程中,使用多条线同时推进多个任务。
2.分支操作
a.创建分支:git branch hot_fix
其中hot_fix是新建的分支名
b.查看分支:git branch -v
c.切换分支:git checkout hot_fix
其中hot_fix是分支名
d.合并分支:git merge hot_fix
注意:合并分支时,必须将位置切换至需要合并的位置上,如主分支合并hot_fix分支,需切换至主分支上。然后对其进行合并。其中hot_fix是分支名。
e.分支冲突
冲突的表现
冲突的解决
第一步:编辑文件,删除特殊符号
第二步:协商沟通,将文件的冲突解决,保存退出
第三步:git add [文件名]
第四步:git commit -m “修改日志信息”
远程库的建立
可以自己github作为远程库。
1.对远程库取别名:git remote add [别名] [远程库的地址]
2.查看远程库的信息:git remote -v
将本地库文件推送至远程仓库
git push [远程库别名] [分支名]
当本地库的版本不是远程库最新版本时,不能推送至远程库,必须先拉取远程库的文件再进行推送。
克隆操作:将远程库的文件复制至本地库
git clone [远程库的地址]
克隆操作的效果:
1.完整将远程库的文件下载至本地库。
2.创建origin远程库地址别名
3.初始化本地库
远程库的拉取
1.pull = fetch + merge
2.git fetch [远程库别名] [远程分支名] 将远程库拉取至本地库
3.git merge [远程库别名/远程分支名] 将远程库的文件与本地库的文件合并
4.git pull [远程库别名] [远程分支名] 将远程库的文件拉取至本地库并合并
git指令大全
跨团队协作
使用github中fork和pull request.
SSH免密登录
1.进入家目录:cd ~
2.运行命令生成.ssh 密钥目录:ssh-keygen -t rsa -C [github的邮箱]
注意-C为大写字母
3.进入.ssh目录查看文件
cd .ssh
ls -lF
4.查看 id_rsa.pub 文件内容
cat id_rsa.pub
5.复制 id_rsa.pub 文件内容,登录 GitHub,点击用户头像→Settings→SSH and GPG keys
6.New SSH Key
7.输入复制的密钥信息
8.回到 Git bash 创建远程地址别名 git remote add origin_ssh [SSH远程库的地址]
9.推送文件进行测试
idea操作git
1.配置在setting中配置git
2.代码完成后,先创建一个本地仓库
3.将代码提交至本地仓库,单击commit提交。然后进行提交日志的编写。
4.显示历史版本,单击show history。可对两者版本进行比较
5.将本地库代码提交至远程库。点击push
然后点击define remote
最后将远程库的HTTP地址填入URL
显示push successful时,说明提交至远程库成功。
6.从远程库克隆代码
在idea界面选择git
将远程库的HTTP地址填入
7.将远程库的代码pull下来,更新代码。
点击update project按钮。
8.分支的操作
点击branches,可进行新建分支和切换分支的操作。
分支的创建
获取远程库的代码
idea中git的stash功能,可对未保存的分支进行分支切换
1.git stash ----------对本分支未保存的代码暂存,本分支代码回到未更改前的状态
2.create stash -------------创建暂存,本分支的代码就回到未更改前
idea中的unstash的功能(恢复代码未保存且更改的状态)
1.点击 unstash
2.点击后,呈现界面,选择自己的stash标签(0504) --------代码就回到未保存且代码更改的状态
通过idea合并本地的主、分支
1.确定在当前分支上
2.选中需要更新的代码
3.merge(merge into current)
查看远程库的地址
idea提交代码的顺序(建议):
add–>commit—>pull–>push
原因详解
idea解决分支冲突
当出现冲突时
先git—>stash changges 保存当前的自己版本
然后git—>pull 拉取远程库的版本
最后git—>Unstash changges 手动合并冲突
9.idea中,修改提交的内容(reword)
最后
以上就是专注水池为你收集整理的Git学习的全部内容,希望文章能够帮你解决Git学习所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复