目录
一,git环境配置
查看所有配置:git config -l
查看系统配置:git config --system --list
查看本地用户的配置:git config --global --list
设置用户名与邮箱 (用户标识 必要)
git config --global user.name "你的用户名" #名称
git config --global user.email "邮箱地址" #邮箱
git 配置ssh秘钥
ssh-keygen -t rsa -C "你的邮箱地址" # 一直下一步即可
二,git基础命令
命令 | 命令解析 |
git status [filename] | 查看指定文件状态 |
git status | 查看所有文件状态 |
git add . | 添加所有文件到暂存区 |
git commit -m | 提交暂存区内容到本地仓库,-m提交信息 |
git clone [url] | 把远程仓库克隆到本地 |
git push | 提交本地仓库到远程仓库(gitee/gitHub),一般在下班的时候push |
git pull | 从远程仓库拉取最新的内容到本地仓库,一般在上班的时候pull |
强制推送: 如果你确信要覆盖远程分支,可以使用强制推送。但要小心,强制推送会覆盖远程分支上的任何更改。
git push -f origin master
根据分支克隆
git clone 你的URL -b 你要克隆的分支名称
比如:git clone git@git.test.com:AUTO_FPilot_ToolChains/datacollect.git -b dev
结合下图就会很容易理解了
三,git版本回退(时光倒流)
还是看图,一图胜千言。
四,git的高级应用之git分支操作
在公司参与项目时往往是多人协作开发,那么git的分支操作就显得格外的重要。
命令 | 命令解析 |
git branch | 列出本地所有分支 |
git branch -r | 列出远程的所有分支 |
git branch [name] | 在本地新建分支 |
git branch -d [name] | 删除指定的本地分支 |
git push origin --delete [name] | 删除指定的远程分支 |
git checkout [name] | 切换到指定分支 |
git merge [name] | 合并指定分支到当前分支 |
强制推送: 如果你确信要覆盖远程分支,可以使用强制推送。但要小心,强制推送会覆盖远程分支上的任何更改。
git push -f origin master
1,如何将在本地创建的分支同步到远程
- 首先在本地创建分支:git branch [name]
- 切换到刚才创建的分支 :git checkout [name]
- 同步到远程:git push origin [name]
2.怎么在当前分支向主分支(master)上传文件
可以直接执行:git push -u origin master
解析:该命令首先关联了master分支,然后再push文件的,所以就不用切换到master分支了。
git命令忽略指定的已经被跟踪的文件:
要让Git忽略已经被跟踪(tracked)的文件,你需要先从Git的跟踪列表中移除(untrack)这些文件,然后再通过.gitignore
文件告诉Git以后要忽略这些文件。需要注意的是,仅仅在.gitignore
中添加文件名是不够的,因为.gitignore
只对未跟踪(untracked)的文件有效。对于已经被Git跟踪的文件,你需要执行两个步骤:
-
从跟踪列表中移除文件:使用
git rm --cached <file>
命令。这个命令会将文件从Git的跟踪列表中移除,但不会从你的工作目录中删除这个文件。--cached
选项告诉Git只更新索引(index),保留工作目录中的文件。示例命令:
git rm --cached FILENAME
如果是要移除多个文件或者目录,可以使用通配符或者递归选项:
- 移除特定目录:
git rm --cached -r directory_name/
- 使用通配符移除特定类型的文件:
git rm --cached *.log
- 移除特定目录:
-
更新
.gitignore
以忽略未来的更改:在项目的.gitignore
文件中添加你不想跟踪的文件或目录的名称。这样Git在未来的操作中就会忽略这些文件或目录,不再将它们纳入版本控制。例如,要忽略
logs/
目录下的所有文件,你可以在.gitignore
文件中添加一行:logs/
或者,要忽略所有
.log
文件,添加:*.log
完成这两个步骤后,指定的文件或目录将不再被Git跟踪,且未来的更改也不会被包括在版本控制中。记得提交这些更改(包括从跟踪列表中移除文件的操作和.gitignore
文件的更新),以便这些更改影响到其他协作者和仓库的其他分支。