文章目录
Git教程-快速上手指南
Git是一个免费的开源分布式版本控制系统,旨在快速高效地处理从小到非常大的项目。Git简单易学,占地面积小,性能快如闪电。它远胜于Subversion、CVS、Perforce和ClearCase等SCM工具,具有廉价的本地分支、方便的暂存区和多个工作流等特性。学习Git是能够帮助我们更好地控制代码版本、提升团队协作效率、保护代码安全,从而更好地参与到开发社区中。
1.安装
进入到Git官网,选择与自己操作系统一致的版本下载安装即可。(安装时,全程 next 即可)
安装完成后,开始菜单出现 Git 文件夹,如下所示,即表示安装成功。
安装成功后,在任何文件夹中右键打开 Git Bash,即可轻松进行 Git 操作。
2.Git环境配置
# 查看配置
git config -l
# 查看系统config
git config --system --list
# 查看当前用户(global)配置
git config --global --list
对所有本地仓库的用户信息进行配置(用户标识,必须设置)
# 对你的commit操作设置关联的用户名
git config --global user.name "[name]"
# 对你的commit操作设置关联的邮箱地址
git config --global user.email "[email address]"
# 启用有帮助的彩色命令行输出(可选)
git config --global color.ui auto
3.Git搭建本地仓库
创建本地仓库的方法有两种:一种是创建全新的仓库,另一种是克隆远程仓库。
# 创建新仓库
git init
# 克隆远程仓库
git clone [url]
# 克隆远端服务器上的仓库
git clone username@host:/path/to/repository
4.Git基本工作流
Git本地有三个工作区域:工作目录(Working Directory)、暂存区(Stage/Index)、本地仓库(Repository或Git Directory)。
- 工作目录是用户在本地对项目进行更改的地方。工作目录从 Git 目录的对象数据库中提取项目的文件,并将其放置在用户的本地计算机上。
- 暂存区是一个文件,用于存储下一次 commit 内容的信息。“commit” 的意思是你告诉 Git 保存暂存区的更改。 Git 照原样拍摄文件快照,并将该快照永久存储在 Git 目录中。
- 本地仓库(位于
YOUR-PROJECT-PATH/.git/
中)是 Git 存储准确跟踪项目所需的所有内容的位置。这些内容包括元数据和一个对象数据库,其中包含项目文件的压缩版本。
如果加上远程的git仓库(Remote Directory)就可以分为四个工作区域。文件在这四个区域之间的转换关系如下:
# 查看指定文件状态
git status [filename]
# 查看所有文件状态
git status
# 添加指定文件到暂存区
git add [filename]
# 添加所有文件到暂存区() 或
git add . 或 git add *
# 提交暂存区中的内容到本地仓库 -m 提交信息
git commit -m "[descriptive message]"
# 提交指定分支到远程仓库, master代表推送的分支
git push origin master
# 提交所有本地分支到远程仓库
git push
# 从远程仓库拉取文件到本地
git pull
# 撤销commit并保留工作空间的代码(只commit了1次,commit2次修改为HEAD~2)
git reset --soft HEAD~1
# 撤销某个文件的添加
git reset [filename]
# 撤销git add,取消所有添加
git reset
5.Git分支
分支是用来将特性开发隔离开的。在创建仓库时,master 是默认的主分支。在其他分支上进行开发,完成后再将它们合并到主分支上。分支是 Git 工作中的一个重要组成部分。我们所做的任何提交都会发生在当前所“checked out”到的分支上。可以使用 git status
查看当前分支的状态。
# 列出所有本地分支
git branch
# 新建一个分支
git branch [BranchName]
# 切换分支
git checkout [BranchName]
# 新建一个分支,并切换到该分支
git checkout -b [BranchName]
# 将指定分支的历史合并到当前分支。
git merge [BranchName]
# 删除指定分支
git branch -d [BranchName]
# 推送本地分支到远程仓库
git push --set-upstream origin [BranchName]
# 将远程仓库里的指定分支拉取到本地(本地不存在的分支)
git fetch origin [BranchName]
6..gitignore 文件
有时候我们不想将某些文件纳入版本控制,比如数据库文件、临时文件、设计文件等。为此,在主目录下可以创建一个名为.gitignore
的文件,其中包含如下规则:
- 可以使用Linux通配符。例如:星号(*)代表任意多个字符,问号(?)代表一个字符,方括号([abc])代表可选字符范围,大括号({string1,string2,…})代表可选的字符串等。
- 如果名称的最前面有一个感叹号(!),表示例外规则,将不被忽略。
- 如果名称的最前面是一个路径分隔符(/),表示要忽略的文件在此目录下,而子目录中的文件不忽略。
- 如果名称的最后面是一个路径分隔符(/),表示要忽略的是此目录下该名称的子目录,而非文件(默认文件或目录都忽略)。
*.txt #忽略所有 .txt结尾的文件,这样的话上传就不会被选中
!lib.txt #但lib.txt除外
/temp #仅忽略项目根目录下的TODO文件,不包括其它目录temp
build/ #忽略build/目录下的所有文件
doc/*.txt #会忽略 doc/notes.txt 但不包括 doc/server/arch.txt
更详细内容请参考: 如何配置.gitignore文件
7.在PyCharm/Idea中集成使用Git
更详细内容请参考: Git - 在PyCharm/Idea中集成使用Git
参考
Git-快速查阅工具
😃😃😃