git配置与常用命令
git branch test-branch-0601 # 创建分支test-branch1git checkout test-branch-0601 # 切换分支到test-branch1git checkout -b test-branch2 # 新建并且切换分支git branch -D 本地分支名称 # 删除本地分支。
git配置与常用命令
git是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理。
gitbash是一个适用于Windows环境的应用程序,它为Git命令行体验提供了一个仿真层;相当于在window上通过git bash这个模拟的Unix命令行的终端做git相关的版本控制。
gitbash下载地址:https://git-scm.com/download/
选择对应的系统与位数,下载完成后一路默认选择安装即可。
1、gitbash安装成功后,打开gitbash主程序,打开之后,如下图所示:
2、首先在本地电脑上创建一对公钥私钥,输入命令ssh-keygen.exe,一直按回车即可。
按照下图所示,出现以下信息代表公钥私钥创建成功。
3、将公钥上传至git服务器
打开浏览器,输入gitlab仓库地址,然后登录,点击左下角【用户名】–【Profile Settings】–【SSH Keys】
点击【Add SSH Key】,进入添加公钥页面
进入本地电脑的C:\Users\Administrator\.ssh目录下,右键点击id_rsa.pub,选择打开方式,选择记事本,Ctrl + A 然后 Ctrl + C 复制文件全部内容。
粘贴到添加公钥页面。
点击下方【Add key】按钮,公钥添加成功!
4、创建工作目录,克隆项目代码
打开gitbash命令行,在用户主目录下创建工作目录workspace。
cd ~
mkdir workspace
进入到workspace目录下
cd workspace
克隆项目代码
git clone 项目仓库地址
克隆过程中会提示输入gitlab的用户名和密码,输入完成后等待项目克隆完成!
进入到项目目录中
cd KiwiKiss
5、git常用命令总结
1)如何创建/删除分支?
git branch test-branch-0601 # 创建分支test-branch1
git checkout test-branch-0601 # 切换分支到test-branch1
git checkout -b test-branch2 # 新建并且切换分支
git branch -D 本地分支名称 # 删除本地分支
2)如何查看当前分支修改了哪些文件?
git status # 查看当前分支修改的文件
3)如何查看当前分支修改的内容?
git diff # 查询当前分支代码与远程代码仓库的区别
4)如何提交修改?
git add . # 添加所有文件到暂存区
git commit -m '提交的文字描述' # 从暂存区提交
git push origin test-branch1 # 推送到远程仓库
5)如何进行回滚?
git log # 查看提交记录(找到要回滚的版本号)
git reset --hard '版本号' # 执行回滚操作
6)如何放弃修改?
git checkout . # 撤销所有修改
git checkout tcms/handlers.py # 撤销单个文件修改
7)如何合并分支?
git merge test-branch1 # 将test-branch1分支合并到当前分支
6、冲突与解决
分支冲突的场景主要有以下两个方面:
1)多个分支代码合并到一个分支时;
2)多个分支向同一个远端分支推送代码时;
git的合并中产生冲突的具体情况:
1)两个分支中修改了同一个文件(不管什么地方)
2)两个分支中修改了同一个文件的名称
两个分支中分别修改了不同文件中的部分,不会产生冲突,可以直接将两部分合并。
冲突解决办法:在本地当前分支上,修改冲突代码—>add—>commit—>push
示例:
分支一:test-branch1
分支二:test-branch2
两个分支对同一个文件的同一行进行了修改
test-branch1分支中handlers.py文件最后的注释为:这里是分支1的注释
test-branch2分支中handlers.py文件最后的注释为:分支2的注释
将test-branch2合并到test-branch1时,文件handlers.py出现冲突:
此时,文件中出现两个分支的修改对比(HEAD到一排等于号之间的内容为当前分支修改的内容,一一排等于号到test-branch2之间的内容代表test-branch2分支上修改的内容):
将不要的内容删除,留下有效内容:
提交分支:
更多推荐
所有评论(0)