1. 官网下载地址
2. 安装
直接下一步即可
3. 工作中常用命令步骤
从master上拉取一个新分支
# 查看当前分支,显示为master就行了
git branch
# 建议先git fetch --all, 然后git pull一下, 防止master不是最新内容
# 根据master分支切一个xxx分支出来, master分支一般会关联远程master
git checkout -b xxx
# 查看当前分支,显示为xxx分支就可以
git branch
# 将xxx分支推到远程上,因为远程上没有这个新的xxx分支,所以要加-u。第一次将新分支提交到远程上时需要加-u
git push -u origin xxx
PS:
- git push -u origin xxx 相当于 git push --set-upstream origin xxx
- 这个命令用于将本地分支推送到远程仓库,并且通过 --set-upstream(或简写为 -u)参数,可以同时建立本地分支与远程分支之间的关联。这意味着以后在本地分支上执行 git pull 或 git push 时,Git 将会自动关联到远程分支,并执行相应的操作。这样可以避免每次推送或拉取时都需要手动指定远程分支的名称。将本地分支与(新创建或者现有的)远程分支关联起来
- 例如,git push --set-upstream origin my-feature-branch 将会将本地的 my-feature-branch 分支推送到远程的 origin 仓库,并且建立本地分支与远程分支的关联。
提交到当前开发分支
# 查看当前分支
git branch
# 修改和添加的文件是红色的
git status
# 将所有的文件推到暂存区
git add .
# git status 此时修改和添加的文件是绿色的(这一步可以不执行, 只是看是否在暂存区)
# 将暂存区的代码推到本地仓库
git commit -m "描述当前分支干了什么, 也可以直接空字符串"
# git status (可以不执行, 只是查看是否提交干净了)
# 将本地仓库xxx推到远程xxx,远程上有这个分支时可以不用写origin xxx
git push origin xxx
把一个分支合并到master
# 切换到master分支
git checkout master
# git branch 查看当前分支是否master, 可以不执行
# 建议先git fetch --all, 然后git pull一下, 防止master不是最新内容
# 将xxx合并到master分支
git merge xxx
# 将master分支代码推到远程,因为远程上有master分支,所以可以不用加origin master
git push
删除分支
# 查询当前所在分支
git status
# 查询所有分支
git branch -a
# 切换到你不需要删除的分支上
git checkout main
# 删除本地分支
git branch -d feature-branch
# 删除远程分支
git push origin --delete feature-branch
# 更新本地分支列表
git fetch --prune
本地项目第一次与远程仓库进行连接和推送
git init
git remote add origin <远程仓库地址,分为https和ssh,https简单方便,ssh需要进行配置>
# 如果上一条没有报错, 就执行
git add .
git commit -m "首次提交"
git push origin main
git如何撤销上一次commit操作
# 获取<commit_id>
git rev-pase head
# 第一种情况,如果还没有push,只是在本地commit
git reset --hard <commit_id>
# 第二种情况,如果已经push
git revert <commit_id>
PS:
- 非常不建议直接撤销
设置本地分支与远程分支的关联
这个命令用于手动地为一个已经存在的本地分支设置远程分支的关联。这在你创建本地分支之后,需要与一个已经存在的远程分支进行关联时非常有用。
git branch --set-upstream-to=origin/分支名 本地分支名
PS:
- 例如,假设你已经在远程仓库中有一个分支 a,你在本地创建了一个分支 b,但还没有建立它们之间的关联。你可以使用 git branch --set-upstream-to=origin/a b 来设置本地分支与远程分支的关联。
- 还是建议名字相同
更改远程仓库(慎用)
# 新的本地仓库初始化
git init
# 与远程仓库建立连接
git remote add origin <远程仓库地址>
# 添加到暂存区
git add .
git commit -m "Initial commit"
# 以本地仓库的代码为最新, 强制覆盖远程仓库
git push origin main --force