本篇主要记录Git使用过程中的一些常用操作以及命令。
如果想要更详细地学习,可以参考这几个网站:
廖雪峰 Git 教程
Git 教程 菜鸟教程
另外推荐一个好玩地学习Git地网站,可以玩玩。
Oh Shit, Git !?!
文章目录
1. Git使用的整个流程
这张图片展示了git使用的整个流程,可以看到有几个不同区,它们分别是:
- 工作区:文件的修改、删除、添加等等操作都是发生在工作区,最典型的就是在IDE中对代码文件的操作。
- 暂存区:存储在一个阶段的工作,简单来说就是提供一个提交文件的
add
或者rm
的后悔机会,卡一看到从工作区到暂存区的命令是git add .
这里可以使用文件名,或者是直接使用.
表示所有的提交文件 - 仓库区:这里是本地仓库,也就是在本地的那个文件夹,这里保存的是提交的文件,注意文件提交到这里之后就无法进行取消操作了,只能版本回退。暂存区和仓库区的信息保存在
git init
命令之后.git
文件中 - 服务器和github:远程的仓库
2.本地创建仓库
其实也就是将某个文件夹指定称为Git仓库,在windows系统下,在要指定的文件夹上 右键Git Bash Here(要首先下载安装Git Bash),然后再弹出的控制台中输入:
git here
此时,文件夹中会出现一个 .git
文件夹,这说明此文件夹已经创建了一个仓库
3. 提交相关的命令
如果对文件进行了修改或者添加等操作,要使用命令:
git add XXX.XXX
注意这一步是将改变从工作区提交到暂存区(可以看上面的流程图)。在这之后,确认改变无误了,可以将改动提交到仓库区,使用:
git commit -m "XXXXX"
其中-m
之后的内容是对这次改动所做的解释,方便之后查看改动记录。
如果想要查看当前工作区的状态,可以使用这个命令:
git status
4. 查看日志、版本回退、撤销相关
如果已经提交到仓库,但是想要回到之前的某个版本,可以使用命令查看提交的信息:
git log
这个命令会详细列出提交信息,有时候会过长,可以使用
git log --pretty=oneline
则会显示排列比较整齐但是较少信息.
除此之外,还有一个命令类似:
git relog
这个函数会非常非常详细的列出之前所作的操作,例如主分支、分分支以及删除或者回退版本之类的所有操作。
如果想要回退版本,使用
git reset --hard HEAD^
这个命令表示的是回退到之前的一个版本,对于其他的版本,只要修改HEAD^
部分就可以了:
其中 HEAD^ 表示回到之前的一个版本
HEAD^^ 表示回到之前的两个版本
或者 HEAD~表示回到之前的一个版本
HEAD~10 表示回到之前的十个版本
或者
git reset --hard XXXX
// 这是版本号 也就是使用 log 命令查看时候每次操作的前面的序号
如果修改存在于暂存区,还没有commit
到仓库区,可以使用
git reset HEAD
如果修改存在于工作区,还没有add
到暂存区,使用:
git checkout XXX
5.配置个人信息相关
在提交修改时候,我们需要同时保存提交修改者的一些信息,使用:
git config user.name 'XXX'
git config user.email 'XXX@XX'
分别配置提交者的名称以及邮箱信息,如果没有配置的话会使用默认西信息。
6.查看文件信息
使用:
cat XXXX.XXX
7.关于文件删除
文件删除也是一种修改,在工作区中删除了某个文件,然后使用git status
进行查看状态时,会发现存在delete信息,如果确定要在版本库中删除文件,使用:
git rm XXX.XX
删除之后也要进行commit
,使用命令进行提交 :git commit
这时候会进入一个vim编辑器,让你记录一些信息,I
键可以进入 INSERT
状态,这时候可以进行文本操作,然后完成编辑之后,首先 ESC
推出编辑状态(可以看到底部的 “插入(Insert)”消失了),然后输入:wq
,这个输入可以在底部看到。接下来进行提交 git ommit
(注意这个过程,如果使用git commit -m "XXXXXX"
)则不会进入文本编辑器。然后就可以使用 git push
操作将删除push到远程仓库了。这时候在 GitHub页面上已经可以看到没有这个文件了
git checkout -- XXX.XX
8.从Github上拉取仓库到本地
这是一般采用的方式,也就是在Github上创建一个仓库,然后同步到本地,第一的时候,也就是“克隆”操作,在windows下,直接打开Git Bush,然后使用cd
命令进行要保存的位置(或者在要进行保存的位置,右键Git Bash Here),使用:
git clone git@github.com:AAAA/BBBB
AAAA是你的Github用户名
BBBB是要clone的仓库
这样就将远程的仓库克隆到了本地,如果第一进行操作,应该需要按照提示输入用户名和密码。
之后,也就是本地已经存在仓库了,如果别人进行了修改,这是胡就只需要:
git pull -r
“拉”下来仓库,也就是将本地仓库与远程仓库同步一下。
9.关于将本地仓库改动推送到远程仓库
在本地工作区完成修改之后,然后git add .
到暂存区,然后使用 git commit -m "XXXX"
提交到仓库区,这时候就可以将本地改动同步到远程仓库了,使用:
git push
即可。
10.分支操作
创建分支的作用相当于自己创建一个临时的子仓库,等到自己的所有任务都完成之后,再合并到仓库中让其他人看见。
列出分支情况:
git branch
其中*
标记的是当前所在的分支。如果再这条命令之后添加一个名称,就是创建新分支的意思,例如:
git branch dev
表示创建新的名称为dev
的新分支。
使用:
git checkout XXX
表示移动到某个分支进行处理,上面的创建分支并移动可以使用一条命令来代替:
git checkout -b XXX
表示创建 + 移动
这个时候所处的位置就是新建分支了,可以对文件进行修改,然后按照一般的提交方式(add
+ commit
)进行提交,这时候如果在主分支查看仓库,会发现文件没有改变,这是因为再分支里进行的操作灭有合并到master
中合并到主分支:
git merge XXX
表示进行合并,这时候在主分支里就可以看到文件的修改了,完成修改之后删除子分支:
git branch -d XXX
这时候通过git branch
显示只剩下主分支。
11. 关于fork别人的仓库
fork用于多人共同维护一个仓库,使用步骤如下:
- 首先在Github上fork一下别人的仓库
- 然后在自己的页面,在该仓库上创建自己的分支
- 在自己本地的文件夹使用
git clone git@github.com:YourName/this repository
(注意这个是你的账户名称+repository名称,不要搞到别人的账号上,否则会一致clone不下来) - 在你的clone下来的仓库文件夹上 Git bush here,可以先使用
git status
查看一下当前的branch,一般应该都是 origin/master - 肯定要在自己的分支上开发对吧,所以使用命令 git checkout branchname(这是你的分支名字!!比如我就是 WuXing_Branch)
- 这时候可以用 git status 查看一下状态,可以看到是自己的分支了,接下来就是正常操作了。
如果别人对共享仓库进行了改动,那么我们需要将自己本地的仓库更新成远程仓库一样的状态,那么需要一个 “拉” (pull)的操作,也就是将远程仓库的文件同步到本地,使用的命令也就是:
git pull -r
这个命令就相当于两个操作:git fetch
+ git merge o/master
(注意只是使用git fetch
并不会改变你的本地仓库,相当于只是下载了数据,但是还没有改变本地文件,只是一个单纯的下载操作, 所以然后要使用后一个命令来进行合并分支)
基本就这些~
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/116693.html