环境:ubuntu16.04
参考:https://baijiahao.baidu.com/s?id=1621620608602705821&wfr=spider&for=pc
https://www.cnblogs.com/Sharley/p/6133721.html
1、首先切换(进入)到你的项目目录
cd your_project/2、本地库初始化
git init3、设置签名
作用:区分不同开发人员的身份。
说明:这里设置的签名和登录远程库(代码托管中心)的账户没有关系。
1)、项目级别签名:
git config user.name "your_name" git config user.email your_email@xx.com查看签名信息位置:
cat .git/config2)、系统级别签名:
git config --global user.name "your_name" git config --global user.email your_email@xx.com查看签名信息位置:
cd ~ cat .gitconfig4、基本操作
1)、查看状态:
git status //查看工作区、暂存区的状态2)、添加操作:
git add 文件名 //将工作区新建/修改的内容添加到暂存区 git add . //把所有文件加入到暂存区3)、提交操作:
git commit -m “commit message” 文件名 //将暂存区的内容提交到本地库,不指定文件名表示提交所以文件4)、查看历史记录
git log git log --pretty=oneline git log --oneline git reflog (HEAD@{移动到当前版本需要多少步})5)、前进和后退
git reset --hard 哈希索引值 //基于索引值的操作(推荐做法) git reset --hard HEAD^ //使用^符号(只能后退,一个^表示后退一步) git reset --hard HEAD~2 //使用~符号(只能后退,n表示后退n步)6)、比较文件差异
git diff [文件名] (将工作区中的文件和暂存区的进行比较) git diff [本地库历史版本] [文件名] (将工作区中的文件和本地库历史记录比较,不带文件名的话,会比较多个文件)5、分支管理
在版本控制过程中,使用多条线同时推进多个任务。
1)、分支的优势
a)、同时并行推进多个功能开发,提高开发效率。
b)、各个分支在开发过程中,如果某个分支开发失败,不会对其他分支有影响,失败的分支可以删除,然后重新开始即可。
2)、分支常用命令
git branch -v //查看本地库中的所有分支 git branch dev //创建一个新的分支 git branch -d dev //删除指定分支 git push origin --delete dev //删除远程分支 git checkout dev //切换分支 git checkout -b dev //创建一个新的分支,并切换分支3)、分支合并
git checkout master //切换到接收修改的分支 git merge dev //执行merge命令切换分支后,在dev分支中做出的修改需要合并到被合并的分支master上.
6、冲突解决
1)、原因
当一个分支的内容和另一个分支的内容不同时,此时任一分支合并另一分支过程中就会出现冲突。因此自己分支对应的模块不能随意更改其他分支的模块。
2)解决
a)、编辑文件,删除特殊符号。
b)、将文件修改完毕后,保存退出。
c)、git add [文件名]。
d)、git commit –m “日志信息”。
7、项目管理流程
有时候我们需要将自己编写好的本地代码上传到服务器,和服务器的主程序进行merge。这是就需要搭建git服务器。
1、Gogs简介 Gogs 是一款极易搭建的自助 Git 服务。 Gogs 的目标是打造一个最简单、最快速和最轻松的方式搭建自助 Git 服务。使用 Go 语言开发使得 Gogs 能够通过独立的二进制分发,并且支持 Go 语言支持的 所有平台,包括 Linux、Mac OS X、Windows 以及 ARM 平台。
2、搭建Gogs
参考:https://blog.csdn.net/qq_20492999/article/details/80422231
3、使用Gogs
1)、注册账号
2)、创建一个repository
3)、 创建本地ssh-key
ssh-keygen -t rsa4)、查看自己的密钥
cat /home/bw/.ssh/id_rsa.pub5)、把秘钥添加到git服务器
添加之后就可以无障碍访问git服务器。
6)、找到自己的新建的工程,有一个简单的教程
另外,如果要从服务器取回与本地合并需要用到pull
比如,要取回origin主机的next分支,与本地的master分支合并,需要写成下面这样 -
git pull origin next:master如果远程分支(next)要与当前分支合并,则冒号后面的部分可以省略。上面命令可以简写为:
git pull origin next