Git for novice
本文最后更新于:Monday, December 28th 2020, 6:23 pm
1、Git and GitHub
Github 可以看成是一个基于Git的系统,它提供了仓库的可视化。是一个远程托管仓库。如果是public,其他人可以随意查看,修改。如果是private只有你自己可以查看了。如果为了安全,可以团队自己搭建一个git服务器。
Git大家都已经很熟悉了,分布式版本控制系统(Distributed version control system)
2、Why do we use git
- 可以更好地在GitHub上开发,分享啊。
- 多人协同开发。
- 版本控制,可以任意回滚到之前某个版本。
3、How do we use git

场景1
在GitHub上看到一个不错的项目,想要研究,学习为目的。
先fork一份到自己的GitHub上。
clone到本地
-o 指定远程仓库的名字,否则默认为
origin1
2git clone [-b <指定分支名>]<远程仓库地址> [-o booyah]
默认是克隆所有分支。进行自己的开发。修改文件后
此时git status可以看到:修改过的文件红色标处。
Untracked files
1
git add ./[filename] // 把修改过的文件添加到暂存区。
此时文件变成绿色。即已经添加到了暂存区。
提交
1
git commit -m "添加文件的说明" // 提交提交完成了,工作目录应该显示是空的。
推送到远程仓库
1
git push origin [branch name] // 推送到指定仓库的指定分支上。
场景2
自己新建一个仓库。做项目开发。
初始化一个本地仓库
1
git init xxx // 新建一个名为xxx的仓库进入仓库,然后就可以开发了。
1
cd xxx // 此目录就是工程根目录。如果要上传到GitHub上。即远端git服务器
首先在GitHub上新建一个仓库。
本地仓库与远程仓库建立联系。
1
git remote add origin <server> // 与GitHub仓库建立联系. origin 可以换成任意名字。
可以看到我通过origin pull不上去。因为我连接的是remote_name。
push到远程服务器上
1
git push origin master // 推送到远程服务器上如果是克隆远程仓库的话,那么可以跳过remote(因为本地master已经和远程master联系上了)。直接推送到远程服务器。
4、common commands1
1、branch(分支)
1、新建分支
1 | |
git branch [-b branchName commitId] 从指定分支和commit号上开始新的分支
git branch -m old_branch new_branch 重命名本地分支
2、分支切换
1 | |
git branch 参数-a: 查看所有分支,包括远端的分支。 -v 查看分支指向的commit。 —remote查看远程分支
3、合并分支
先把你次要分支提交完全。
切换到你要合并其他分支的主分支上
合并
1
git merge test // 在主分支上合并test分支
可以看到已经合并了test1分支。现在它们指向同一个commit。
如果遇到冲突,手动判断哪一个修改留下。
4、删除分支
1 | |
5、远程分支
1 | |
“origin” 是当你运行 git clone 时默认的远程仓库名字
6、跟踪分支
1 | |

可以看到 设置了分支test3 跟踪 远端的master分支。现在分支与master分支相同。
现在,本地分支 test 会自动从 remote_name/master 拉取。
1 | |
7、分支拉取
1 | |
8、上传分支
1 | |
2、reset (撤销)

1、reset —hard
reset —hard:重置stage区和工作目录(会在重置 HEAD 和branch的同时,重置stage区和工作目录里的内容)
即回到上一次commit的位置。,全部清空。
2、reset —soft
reset —soft:保留工作目录和暂存区中的内容,并把重置 HEAD 所带来的新的差异放进暂存区
即你之前commit的文件,退回到stage。需要重新提交。
3、reset [—mixed]
reset: 保留工作目录,并清空暂存区
也就是你要重新add,然后commit。
Reference
[1] 分支用法
[2] reset用法
[3] 简明教程
[4] 动态过程
本博客所有文章除特别声明外,均采用 CC BY-SA 3.0协议 。转载请注明出处!