【团队协作工具】Git干货指南

3,092 阅读4分钟

携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第7天,点击查看活动详情

Git 是目前最流行的开源分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理。 Git是Linus Torvalds为了帮助管理Linux内核开发而开发的一个开放源码的版本控制软件,一开始Linus开发 Git 是为了作为一种过渡方案来替代 BitKeeper,但因为其安全、高效的分布式设计从而流行于全世界。

下面使用Git进行项目的克隆和推送快速上手:

下载

git clone https://github.com/judasn/IntelliJ-IDEA-Tutorial

配置全局Git账号

git config --global user.name "你的github用户名"
git config --global user.email "你的github邮箱地址"# 例如
git config --global user.name "deepinsea"
git config --global user.email "1360034559@qq.com"

常见操作

添加远程仓库

# 查看远程仓库地址
git remote -v 
# 去除远程仓库地址
git remote remove origin 
# 添加远程仓库地址
git remote add origin https://xxx
# 允许未建立联系下拉取(多分支下)
git pull origin master --allow-unrelated-histories
# 本地与远程分支建立联系(多分支场景)
git branch --set-upstream-to=origin/远程分支的名字 本地分支的名字
# 重置用户登录认证证书
git config --system --unset credential.helper

推送代码

git status
​
git init 
git add .
git commit -m "信息"
git push -u origin master

注意:新增一个文件夹提交远程仓库是不会发生变化的,至少包含一个文件

拉取代码

git pull

分支操作

对于开发而言,必须掌握新建分支以及分支管理的相关操作

查看当前本地分支

git branch -a

创建本地分支

git branch dev

切换到新分支

git checkout dev

对比两个分支的区别

# 显示出所有有差异的文件的详细差异
git diff dev master
​
# 显示出dev和master中差异的部分
git diff dev master --stat

将其他分支合并到当前分支

# 将dev分支合并到当前分支
git merge dev

重命名分支

# 将分支test重命名为test-1
git branch -m test test-1

下面是分支常见操作的集合:

分支的新建与删除

# 查看本地分支
git branch
# 查看远程分支
git branch -r
# 查看本地和远程的所有分支
git branch -a
​
# 新建本地分支
git branch dev
# 切换本地分支
git checkout dev
# 创建并切换到本地分支
git checkout -b dev
​
# 切换远程仓库默认分支(新建远程分支并删除原分支)
删除本地及远程的master分支.
git branch -D master             // 删除本地master分支
git push origin :master          // 删除远程master分支
git checkout -b dev              // 新建并切换到本地dev分支
git push origin dev:dev    // 把本地dev分支推送到远程
# 手动切换远程仓库分支
# 直接在github/gitee/gitlab,将默认分支master切换为其他分支即可# 推送分支到远程仓库
git add *
git commit -m "switch dev"
git push origin dev
# 推送本地到远程仓库(空分支时)
git branch dev
git push --set-upstream origin 分支名
​
# 一般当前如果不在该分支时,使用这种方式提交
git push origin <local_branch_name>:<remote_branch_name>
​
# 获取远程分支
git pull origin dev
​
# 删除本地分支
git branch -d master
# 强行删除本地分支(若分支有修改还未合并)
git branch -D master
# 删除本地保存的远程分支
git branch -r -d origin/master
​
# 删除远程分支
git push oringin :yourbranch
git push origin -d yourbranch

注意:切换分支前必须提交一次上一个分支的改变,不然撤销提交还是会报错;无论是远程还是本地,当前分支都不能被直接删除;此外,建议本地分支与远程分支名保持一致,方便管理。

本地与远程同步操作

主要本地与远程之间的一些交互

清除本地的git用户名和密码

git config --system --unset credential.helper

远程强制覆盖本地

git fetch --all && git reset --hard origin/master && git pull

本地强制推送到远程

git push -f origin master

撤销本地提交

git reset --hard

本地仓库与远程仓库进行关联

远程仓库太多,且分支较多。在默认情况下,git push时一般会上传到origin下的master分支上,然而当repository和branch过多,而又没有设置关联时,git就会产生疑问,因为它无法判断你的push目标,可以使用下面的命令进行关联:

git push --set-upstream origin master

同步远程分支

# 将本地分支与远程保持同步
git fetch
​
# 拉取远程分支并同时创建对应的本地分支
git checkout -b 本地分支名 origin/远程分支名

欢迎关注白羊🐏,感谢观看ヾ(◍°∇°◍)ノ゙