Git是一种版本控制器,在项目开发中可以用来托管代码,本文介绍Git的简单使用。
地址:https://git-scm.com/download/win
检验是否安装成功 电脑桌面或者其他任意文件夹下,点击鼠标右键,如果看到Git GUI和Git Bash则表示安装成功
Git Bash是为了方便你在windows下使用git命令的模拟终端,我们可以在git bash中执行一些shell命令。
git GUI客户端有很多种:https://git-scm.com/downloads/guis/
Windows平台推荐使用TortoiseGit,可以通过图形化界面操作git,下载地址:https://tortoisegit.org/download/
安装Git最新版本
查看版本:
[root@Server ~]# git --version
git version 1.8.3.1
删除老版本:
sudo yum -y remove git
sudo yum -y remove git-*
安装:
sudo yum -y install https://packages.endpointdev.com/rhel/7/os/x86_64/endpoint-repo.x86_64.rpm
sudo yum install git
[root@Server gerritDemo]# git --version
git version 2.37.1
git config --global user.name "username" // 添加用户名,username为你在github上注册的用户名。
git config --global user.email 123456789@qq.com // github设置的邮箱地址,改成自己的邮箱。
添加局部用户名和邮箱
git config user.name "username"
git config user.email "[email protected]"
git config --list
git init
执行成功后,当前目录下会生成一个.git的隐藏文件夹,仓库创建完成。
查看git帮助信息
git help
git status
git add test.txt
git add file //跟踪 -添加到暂存区
git add file1 file2 file3
git add folder/*
git add folder/*.py
git add folder
git add --all
git commit -m "add test.txt"
git log //查看提交记录
第2步和第3步可以直接使用命令:
git commit -am "提交注释”
git rm "test.txt"
也可以直接手动删除文件
删除文件夹
git rm -r foldername/
git commit -m "delete test.txt"
git branch yourbranch //创建分支
git checkout yourbranch //切换分支
git checkout -b yourbranch //创建并切换到分支
git checkout master
git merge yourbranch //合并指定分支yourbranch到当前分支master
git branch -d yourbranch //删除本地分支
git push origin -d yourbranch //删除远程分支
可以将本地仓库备份到远程服务器上的git仓库,实现代码共享,下面介绍本地Git仓库和Github 远程仓库的连接。
如果没有GitHub账号需要先注册一个:https://github.com/
本地Git仓库和GitHub仓库之间通信采用SSH协议加密,Git SSH公钥配置方法参考:同一台电脑配置Gitee、Github 的 Git SSH公钥。
git push
如果是首次push,没有添加远程链接,在github创建新的仓库,然后复制仓库URL链接:
git remote add origin https://github.com/xxxxx/xxxxx.git
git push --set-upstream origin master
git push -u origin master
git remote remove origin //取消远程关联
Push新仓库
git init
git add README.md
git commit -m "first commit"
git branch -M master
git remote add origin [email protected]:ZHHAYO/vuepress-blog.git
git push -u origin master
Push存在的仓库
git remote add origin [email protected]:ZHHAYO/vuepress-blog.git
git branch -M master
git push -u origin master
github项目****仓库地址****复制:
git clone 仓库地址
git clone -b 分支名 远程仓库地址
将远程仓库克隆到本地后,会生成一个.git的目录
查看.git/config文件
可以看到当前本地分支为master,git branch查看本地分支
关联的远程库为origin,可以通过git remote
查看
远程库origin所在的位置为 [email protected]:ZHHAYO/python_notes.git
.git\refs\heads\master文件内容为:
7cf7212890aabea789631a02881861dcd08dac46
表示本地仓库最新的commit id
.git\logs文件夹下保存的是.git\refs文件夹下相应文件的变更记录
.git\logs\HEAD
.git\logs\refs\remotes\origin\HEAD
.git\logs\refs\heads\master
三个文件 内容如下:
如果远程仓库更新,可以使用git pull或者git fetch + git merge命令,将远程项目更新到本地。
git fetch origin master
git merge origin/master
git pull origin master
git pull和git merge的区别参考:https://blog.csdn.net/a19881029/article/details/42245955
git remote -v
$ git remote show origin
* remote origin
Fetch URL: https://github.com/hiyongz/PythonNotes.git
Push URL: https://github.com/hiyongz/PythonNotes.git
HEAD branch: master
Remote branch:
master tracked
Local branch configured for 'git pull':
master merges with remote master
Local ref configured for 'git push':
master pushes to master (up to date)
在使用Git管理仓库时,可能有些文件不需要进行版本管理,需要忽略的文件可以使用 .gitignore
文件来跟踪,该文件一般放在项目仓库的根目录下。
.gitignore
使用glob规则来匹配文件路径,开始是在Unix系统中用来匹配文件路径的,使用通配符匹配路径,很多编程语言也实现了glob方法,比如Python的glob模块。下面举几个 .gitignore
语法示例:
语法 | 说明 |
---|---|
log | 匹配名称为log的文件和目录,包括目录下的文件及子目录 |
log/ | 匹配名称为log的目录,包括目录下的文件及子目录 |
**/log | 匹配名称为log的任何目录 |
**/log/test.log | 匹配名称为log的目录下的test.log文件 |
*.log | 匹配后缀为log的所有文件 |
/test.log | 只匹配根目录下的test.log |
test.log | 匹配所有test.log文件 |
test?.log | 匹配test开头,后面只有一个字符的log文件 |
test[0-9].log、test[a-z].log | test后为单个数字、字母的log文件 |
.gitignore
文件使用#
来注释:
# ignore all log
*.log
访问github经常不成功, 推荐一个代理工具dev-sidecar,地址为 https://gitee.com/docmirror/dev-sidecar 。使用方法参考说明文档。
2021.8.14更新:
现在github去除了密码认证方式通过HTTPS访问GitHub,需要token认证。
$ git pull
remote: Support for password authentication was removed on August 13, 2021. Please use a personal access token instead.
remote: Please see https://github.blog/2020-12-15-token-authentication-requirements-for-git-operations/ for more information.
fatal: unable to access 'https://github.com/hiyongz/MyBlog.git/': The requested URL returned error: 403
个人token创建方法参考:https://docs.github.com/en/github/authenticating-to-github/keeping-your-account-and-data-secure/creating-a-personal-access-token
记得保存一下token!
个人访问token只支持HTTPS,如果你的远程仓库使用SSH,需要切换为HTTPS。使用 git remote -v
命令查看远程项目URL地址。
切换HTTPS命令:
$ git remote set-url origin https://github.com/USERNAME/REPOSITORY.git
查看是否设置凭证
$ git config credential.helper
manager-core
清除凭证管理:
$ echo url=https://github.com/account | git credential reject
account为你的github用户名。
接下来的git操作如果要你输入用户名和密码,其中密码为前面获取的token值。
参考:
欢迎关注公众号:「测试开发小记」及时接收最新技术文章!