Git 是非常便捷高效的提高团队合作效率的代码管理工具。
关于 Git 的使用,我们从命令行来进行说明,首先介绍我们经常用到的命令,最后具体介绍远程克隆和本地新建两种仓库建立和管理的方式,以及利用多个分支开发的简要讲解
常用基本命令(逐步)
git init #初始化仓库
git add fileName/* #将文件增加到缓存(*是全部未添加的)
git reset #撤销增加
git commit -m "first commit" #提交缓存中的文件("first commit" 提交的注释语)
git push #上传本地所有分支代码到远程对应的分支上
git push origin master #上传本地当前分支代码到远程 master 分支(master 也可以换成其他子分支,如 develop)
git log #查看日志,如作者、建立日期、历次提交记录
git status #查看状态,如目前在哪个分支上
git help #帮助,查看常用命令
git clone "Url" #克隆远程仓库到本地
git help commit #查看 commit 命令的详细说明
设置远程仓库地址
1.修改命令 git remote origin set-url [url]
2.先删后加 git remote rm origin git remote add origin [url]
3.直接修改 config 文件
分支操作(协同合作)
git branch a #创建分支 a
git checkout a #跳转到 a 分支
git branch -m a b #重命名分支a为b
git checkout -D a #删除 a 分支
git branch -a #查看远程分支
git branch #查看本地分支
git merge a #将 a 分支合并到当前分之
git checkout -b new_branch_name history_commit_id #基于历史commit ID检出代码并创建新的分支
git checkout -b 本地分支名x origin/远程分支名x #拉取远程分支并创建本地分支,自动切换到新分支
git fetch origin 远程分支名x:本地分支名x #拉取远程分支并创建本地分支
具体操作解释
(注意:在进行任何 Git 操作之前,都要先切换到 Git 仓库目录,也就是先要先切换到项目的文件夹目录下,比如TestJava目录下)
(1)克隆远程仓库到本地
git clone Url (克隆远程仓库到本地 、Url 代表远程仓库地址)
git clone https://github.com/stormbaron/BriefVideo.git (将远程仓库拷贝到当前文件夹下并以 BriefVideo 命名)。
git clone https://github.com/stormbaron/BriefVideo.git Bac(此时克隆的仓库名称便是 Bac)
(2)对本地已存在的项目管理,并传到远程地址
git init -- 在当前项目的目录(如 TestJava)下执行
git remote origin set-url [url] -- 设置当前新初始化的本地仓库对应的远程仓库地址
git remote add origin [url]
git push -u origin master
(3)分支管理
1、master主分支
2、develope开发分之
3、temporary临时分之
我们在开发产品的时候一般都会边发布边迭代,一般在 master 分支上是稳定的主代码,随时可以发布状态,
develope 开发分支 ,正在开发新功能的分支,当其上的一个功能完成经过测试后,合并到 master 分支等待发布。
temporary 临时分支,我们在 develope 分支开发时,如果当前版本遇到 Bug,则从 master 分支拷贝一个临时分支,对 Bug 进行修复,修复后合并到 master 和 developer 分支上,便修改了所有分支的 Bug,随后删除临时分支。
(4) Linux 安装git
sudo apt-get install git
配置git用户名邮箱
git config --global user.name "username"
git config --global user.email "[email protected]"
查看命令:git config -global user.name
git config -global user.email
拒绝合并
fatal: 拒绝合并无关的历史
解决办法:git pull origin master --allow-unrelated-histories 就是告诉系统我允许合并不相关历史的内容。
git push 系统提示 git push --set-upstream origin master 因为是第一次push,所以按它提示的来就好啦。
从命令行创建一个新的仓库并推送到远程仓库
touch README.md
git init
git add README.md
git commit -m "first commit"
git remote add origin http://localhost:3000/JuLi/JuLiKanBan.git
git push -u origin master
从命令行推送已经创建的仓库
git remote add origin http://localhost:3000/JuLi/JuLiKanBan.git
git push -u origin master
冲突解决
执行拉取动作git pull origin master
提示冲突
自动合并 README.md
冲突(添加/添加):合并冲突于 README.md
自动合并失败,修正冲突然后提交修正的结果
解决,
(1)打开对应 README.md
<<<<<<< HEAD
#Juli1
=======
# JuLi2
>>>>>>> 99b52091933c42ae46d46d1e68597150dccfe3d6
其中#Juli1是本地的# JuLi2是远程的,保留一个,将另一个和符号一并清除
#Juli1
(2)再次提交README.md,并push到origin
git add README.md
git commit -m "解决冲突"
git push origin master
(3)撤销add
git reset HEAD ...