git基本用法教程(fork软件+git命令)
Posted 国家一级假勤奋大学生
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了git基本用法教程(fork软件+git命令)相关的知识,希望对你有一定的参考价值。
git基本用法教程
- 1. git commit
- 2. git branch
- 3. git checkout
- 4. git merge
- 5. git rebase
- 6. 在提交树中移动
- 7. 撤销变更
- 8. 整理提交记录
- 9. 提交的技巧
- 10. git clone
- 11. git push
- 12. git pull
- 13. git fetch
- 14. git flow
- 15. git stash
- 16. fork的使用
当然除了环境和demo的运行和改写,work flow中当然少不了git的参与!
git使得开发的流程更加清晰,main, develop,release,feature,bugFix等branch的通力合作,使得项目可以更快,更高效的推进和整合。这里简单介绍下git的一些用法和语法,并且推荐大家使用fork进行本地项目的管理(当然使用原生的git也可以,原生的GUI不如fork友好,但是经验老道的程序员命令行用的嘎嘎飞起,分支流程都梳理的清楚,用啥都行~)
1. git commit
版本比对,将差异打包到一起作为一个提交记录
git保存提交的历史记录
语法:git commit 【一些本次提交的相关信息】
ps:注意这里只是将暂存区文件上传到本地代码仓库,并没有直接推向远端仓库
2. git branch
使用分支相当于:我想基于这个提交以及它所有父类提交进行新工作
语法:git branch branch_name
git branch -f main HEAD~3:将main分支强制指向HEAD的第三级父提交
3. git checkout
语法:git checkout nodeName
将当前节点切换到分支上
快捷创建分支并切换:
git checkout -b branchName
4. git merge
合并两个分支——新建一个分支,在其开发某个新功能,开发完成后再合并回主线。
merge合并两个分支:把两个父节点本身及他们的所有祖先包含进来
具体操作:将多个同名文件合并为同一个文件,该文件包含多个同名文件的所有内容,相同内容抵消
5. git rebase
提取一系列的提交记录,进行”复制“,在另外一个地方逐个放下
可以创造更线性的提交历史
语法:git rebase NodeName
将当前节点复制并放在NodeName的下方
6. 在提交树中移动
head——一个对当前所在分支的符号引用——指向正在其基础上进行工作的提交记录
head总是指向当前分支上最近的一次提交记录。通常指向分支名
分离的head让其指向了一个具体的提交记录而不是分支名
HEAD-> main -> C1
git checkout C1后变成:
HEAD -> C1
通过制定提交记录的哈希值(示例中为C1)在git中移动不方便,因为哈希值在git中会很长(基于SHA-1 40位),可以使用git log查看提交记录的哈希值
相对引用—:
^:向上移动1个提交记录
~num:向上移动多个提交记录
7. 撤销变更
git reset:通过把分支记录回退几个提交记录来实现撤销改动。改写历史,原来指向的提交记录就跟从来没有提交过一样。
git reset HEAD~1
git revert:这种改写历史的方法对大家一起使用的远程分支是无效的!
为了撤销更改并分享给别人,我们需要使用git revert:
更改为了撤销该提交(所以这里会自动git commit一个新”撤销“的版本),revert之后就可以把你的更改推送到远程仓库中
git revert HEAD
8. 整理提交记录
git cherry-pick 《提交号》
git cherry-pick C2 C4
交互式的rebase——从一系列提交记录中找到想要的记录
git rebase --interactive(-i)
会调用rebase UI界面,完成三件事:
调整提交记录的顺序
删除不想要的提交(切换pick的状态完成
合并提交
9. 提交的技巧
情况:分支上进行了一次提交,基于它创建了新分支,再次提交,此时想对以前某个提交记录进行调整:
git rebase -i
git commit --amend
git rebase -i
10. git clone
克隆远端仓库
语法:git clone https://xxx
从远程仓库URL加载创建一个与远程仓库一样的本地仓库
11. git push
推送将本地仓库同步到远端仓库中,一般推送(push)前先拉取(pull)一次,确保一致
12. git pull
从远程仓库获取信息并同步至本地仓库,并且自动执行合并(merge)操作
git pull = git fetch + git merge
13. git fetch
从远程仓库获取信息并同步至本地仓库
14. git flow
团队工作时,每个人创建属于自己的分支branch,确认无误后提交到master分支上
15. git stash
将本地工作空间所有的修改暂存到stash中,并且随时可以取出、一般应用于解决冲突和切换分支的场景下
16. fork的使用
我们在这里https://git-fork.com/下载mac或Windows版本的fork,直接安装就行。
界面入图所示:
对于fork的操作后续补充~
现代软件工程 第二章 作业 2 学习git用法与心得——孙雪莹
题目:每人自己建立一个HelloWorld项目,练习使用git的add/commit/push/pull/fetch/clone等基本命令。比较项目的新旧版本的差别。
参考:廖雪峰的官方网站——Git教程
http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000
第一步:我用的是Windows系统,所以首先安装msysgit。安装完成后,在开始菜单找到"Git"->"Git Bash",出现一个类似命令提示符类似的窗口,证明Git安装成功。
安装完成后,要进行进一步设置:
第二步:创建仓库(repository)
在“Git Bash”上输入语句 cd Hello_World ,创建一个空的repository,命名为Hello_World。 pwd 命令可以显示当前所在目录。可以看到当前所在目录为/C/Users/Dell/Hello_World
然后,通过 git init 命令,完成仓库的初始化,使git可以管理仓库:
第三步:添加文档 add 语句
在本地建立一个 readme.txt的文件(廖大大特意声明,千万不要用Windows自带记事本编辑文档,用Notepad++编辑文档)。然后将文档放在之前建立的Hello_World目录下。
用 git add 语句,将文件,添加到仓库中。然后用命令 git commit ,将文件提交到仓库中。 这里的 -m 后面输入的是本次提交的说明,这个特别重要,git会记录操作者的每一步修改,有了提交说明,我们容易发现问题出在哪里,从哪里开始修改。git反馈给Collabrator 1个文件被改动,插入了两行内容。
以上是关于git基本用法教程(fork软件+git命令)的主要内容,如果未能解决你的问题,请参考以下文章