文章目录
Git在日常使用过程中的常用命令
写在前面
本博客的主要内容整理自集美大学张敏老师的《软件工程》课在头歌实践平台的实验任务。
张敏老师的头歌主页
博主本人所使用的操作系统:Windows10
关于如何下载与安装Git
请看这里
1. 创建本地仓库
使用Git最基本的是,要先创建一个本地版本库,然后才能在本地修改、保存及提交文件。
- 要创建一个本地仓库我们首先得新建一个文件夹作为本地仓库的根目录
- 在Window操作系统下,安装好Git后,可以通过右键打开Git的shell来进行命令控制。
- 创建本地仓库的命令为:
git init
2. 将本地文件添加到暂存区
本地版本库就相当于一个存放在本地的仓库,里面记录了我们本地文件的各种版本及不同版本之间的差异。当我们添加、删除或者修改了文件之后,我们必须将修改添加至工作区以暂时保存。
//添加所有修改
git add .
//添加hello.txt文件
git add hello.txt
//查看工作区状态
git status
3. 将本地文件从暂存区撤销
当我们不小心把不想添加的东西添加到暂存区,或者想丢弃已经添加的内容,这个时候可以使用git checkout命令。
git checkout helloGit.txt
这样就能把已经添加到本地的helloGit.txt从暂存区中移除。
4. 将修改提交到本地仓库
将修改添加到暂存区,只是将你的工作暂时保存,并没有添加到本地的仓库中。这个过程可以类比写文件,将修改添加至暂存区,就相当于把内容先放入缓存区。因此,我们必须将工作区的内容提交到本地版本库去,才算是真正地保存了修改。
git commit -m "示例提交"
-m参数后面跟的是本次提交的具体内容,用来说明你这次的提交,主要是做了哪些修改,这个说明内容是必须的。
在提交完后,可以使用git log
来查看提交的情况。
5. clone远程版本库到本地。
克隆,顾名思义,就是要获取远程版本库的完整拷贝。通过克隆操作,你可以将整个远程版本库的各种细节复制到本地,并且会建立起本地版本库和远程版本库的对应关系。
git clone https://sample.git
通过这样的操作,就能将远程版本库复制到本地了,(其中,https://sample.git是远程仓库的网址)而且会默认克隆到sample文件夹下(对应于远程版本库地址中指定的sample)。同时,你也可以根据需要,指定克隆到其他目录下,其命令格式为:
git clone xxx.git "指定目录"
这样就能将代码都复制到指定目录下。
6. 为本地版本库添加一个远程仓库
当我们要自己启动一个项目时,我们需要将我们的代码保存到远程版本中。那么我们要做的第一件事就是,需要为我们的本地版本库添加一个远程仓库,然后整个团队才能基于这个远程版本库进行协同开发。
添加远程版本库需要用到的命令是git remote add,其命令格式为:
git remote add “远程仓库名” “远程仓库地址”
使用示例如下:
git remote add origin https://sample.git
这样就将https://sample.git添加为远程仓库,并将其命名为origin。
7. 推送到远程仓库
在团队开发中一个很频繁、很普通的行为,就是将你的修改推送到远程仓库,以便于测试或者和团队中其他人协作。
推送本地内容时,会将所有未推送至远程仓库的内容,都提到远程仓库。它用到的命令是git push,使用方法如下:
git push 远程仓库名 本地分支名 远程分支名
具体的使用方法如下:
git push origin master master
这样就将本地分支的内容,推送到远程仓库origin的master分支了。
git push的另外一种用法如下:
git push -u 远程仓库名 本地分支名 远程分支名
-u参数的作用是,建立起本地master分支和远程master分支之间的对应关系,下一次如果再推送master分支,就可以忽略远程分支名了,如下所示:
//初次推送
git push -u origin master master
//再次推送
git push origin master
8. 将远程分支内容拉取到本地
在团队协作中,如果别人对项目做了修改,而我们需要将这些修改合并到本地时,我们就需要将远程分支内容拉取到本地。
拉取远程仓库的内容到本地,需要使用git pull命令,其命令格式为:
git pull 远程主机名 远程分支名:本地分支名
其使用示例如下:
//将远程仓库origin的master分支的内容拉取到本地master分支
git pull origin master:master
但是,在使用过程中,也可能会出现一种情况:远程分支和本地分支对同一内容做了修改,这就会导致将远程分支的修改,合并到本地分支的时候发生冲突。这个时候,可以选择解决冲突,然后合并(解决冲突会在后续的实训中介绍)。也可以选择直接强制拉取,使用远程分支的修改,覆盖本地分支的修改。强制拉取需要用到-f参数,语法格式如下:
git pull 远程主机名 远程分支名 本地分支名 -f
具体的使用示例如下:
//将远程仓库origin的master分支的内容拉取到本地master分支
git pull origin master:master -f