本次基于上一篇创建本地仓库的方法一。
当用git init初始化号本地库之后,就可以开始自己的项目了。
命令:git status 查看仓库当前的状态,显示有变更的文件
命令:git add .
初始化好本地库之后,需要先运行 git add . 这个命令(注意:add后面有个点),表示把当前文件夹下所有的文件全部放到暂存区。进入到上篇建立的 test 文件夹下,右击运行 git bash here。
可以先运行 git status 查看当前库的状态:
出现红色的 test_git 表示当前工程目录还没有被放到暂存区和本地库。此时运行git add . . 表示把当期那文件夹下所有的文件都放到暂存区。
还可以 git add 文件名:指定某个文件放到暂存区。
运行完之后在命令窗口下可以按方向键 ↑ 表示上一个命令,找到git status,查看当前信息。
红色方框里面的表示已经被加入到暂存区了,但是还没有被提交到本地库。
命令:git commit -m [message] 将暂存区内容添加到本地仓库中并添加注释
git commit -m [message] 使用 -m 选项在命令行中提供提交注释(提交注释是必选项)。
然后再红色方框2下面出现的信息表示,在主分支,没有需要被提交的文件(暂存区的文件),也没有未被跟踪到的文件,提交成功。这里是第一次提交哦!
开始编辑自己的项目文件:
修改main.c文件:
然后查看仓库当前状态
显示main.c文件又被修改,还没被放到暂存区,运行 git add main.c 把这个文件放到暂存区
需要先进入到自己的项目文件夹(test_git)下
可以运行 git commit -m [message] 进行第二次提交:
命令:git log 查看历史提交记录
命令:git reset --hard HEAD~1
使用上面的命令可以让你的项目回退到上一次提交的状态:
--hard:表示直接删除刚刚第二次提交的更改,就再回不来了,所以要谨慎操作。
HEAD:可以理解为指向当前分支的最新版本的一个指针。
~1:表示回退到的哪一个提交版本,1表示上一个版本,2表示上上一个版本,...
并且main.c文件的内容也就回退到初始的状态了:
什么也没有,因为初始的状态就是什么也没有。
命令:git push 上传远程代码并合并
用克隆的方式,克隆远程库到本地文件夹:
这是远程库的内容:
克隆之后:
进入到test文件夹:
main文件中的内容:
然后通过git add main.c添加到暂存库,再用git commit -m 第一次提交,提交到本地库
推送当前库到远程master分支:git push origin master 推送到远程主机origin的master分支
这时远程库显示:
显示已经被推送上去了。
当然这不止文件会被推送,远程库已存在文件的内容也会被修改(本地库若有修改的话),这就是合并。
命令:git pull 下载远程代码并合并
与push原理相同:
将远程主机 origin 的 master 分支拉取过来,与本地的 devel 分支合并。
git pull origin master:devel
如果远程分支是与当前分支合并,则冒号后面的部分可以省略。
git pull origin master