Git常用操作命令
2017-06-27 17:40
295 查看
常用命令
文件恢复命令:
git checkout filename #从暂存区恢复工作区(用法见链接:http://blog.csdn.net/leedaning/article/details/43701345)
git reset filename #从版本库恢复数据到工作区(用法见链接:http://blog.csdn.net/hbwindy/article/details/51519999)
文件忽略
并不是所有的文件都需要纳入版本管理,如运行过程中产生的日志,缓存等
可以将特定的文件进行忽略处理,忽略信息写在文件.gitignore中
忽略规则
分支管理
查看分支:
创建分支
删除分支
切换分支
创建并切换分支
合并分支
合并冲突
冲突文件内容
解决冲突
1. 手动删除冲突标志
2. 保留正确内容
3. 添加(git add .)并提交(git commit)
项目开发
master:主分支,主要用来版本发布
develop:开发分支,保存正常开发的最新代码
local:表示本地添加功能时的临时分支,基于develop创建,最后需要合并到develop分支
描述:
在本地的功能分支上添加功能代码,测试完毕合并到develop分支
98ed
(之后可以删除能够分支)
在合并在develop分支之后需要推送到服务器,先使用git pull拉下来最新的提交
若有冲突,解决完冲突后再次提交,然后推送到服务器
从服务器上clone下来的项目只有主分支,其它分支看不见,首次使用需要checkout
ssh登录(无密码登录)
需要使用公钥私钥对
产生公钥私钥对ssh-keygen,会在~/.ssh目录下生成(id_rsa,id_rsa.pub)
将id_rsa.pub公钥中的内容粘贴到托管网站中即可
首次使用需要身份确认
以后就可以无密码的推送了
git.oschina.net
coding.net
git --version 查看版本信息 git config --global user.name = "name" 配置用户名 git config --global user.email = "xxx@xxx.com" 配置用户邮箱 cd:切换工作目录,change directory pwd:打印工作目录,print work directory ls:查看指定目录的内容,不指定查看当前目录,list -a:查看所有内容,包括隐藏文件(以.开头的文件) -l:列表显示详细信息 clear:清空屏幕显示,快捷操作:ctrl + L git init #创建版本库 git add filename #添加指定文件,将文件修改从工作区添加到暂存区 git add . #添加所有文件 git commit -m "提交信息" #提交记录 git commit -a -m "提交信息" #提交记录(所有修改) -a:提交所有修改,相当于执行了 git add . git status #查看状态 -s #查看简短状态信息 git log #查看提交日志 --oneline #一行显示,显示简短描述信息 git remote add origin url #添加一个远程仓库地址 git push -u origin master #将本地mater分支推送到origin仓库的master分支 git clone url #从远程仓库克隆一个版本库
文件恢复命令:
git checkout filename #从暂存区恢复工作区(用法见链接:http://blog.csdn.net/leedaning/article/details/43701345)
git reset filename #从版本库恢复数据到工作区(用法见链接:http://blog.csdn.net/hbwindy/article/details/51519999)
文件忽略
并不是所有的文件都需要纳入版本管理,如运行过程中产生的日志,缓存等
可以将特定的文件进行忽略处理,忽略信息写在文件.gitignore中
忽略规则
# 表示注释,改行会被忽略,空行也会被忽略 test.txt 忽略指定文件test.txt abc/ 忽略abc文件 /abc 只忽略项目根目录下的abc *.apk 所有apk文件 !a.apk 除了a.apk *.[oa] 所有的.a和.o文件 abc/*.log abc目录下的所有log文件,不会递归查找 abc/**/*.log abc目录下的所有log文件,会递归查找
分支管理
查看分支:
git branch #查看本地分支,带*表示当前所在的分支 git branch -r #查看远程分支 git branch -a #查看所有分支
创建分支
git branch develop [基于的分支或提交] #创建分支develop
删除分支
git branch -d develop #删除develop分支
切换分支
git checkout develop #切换到develop分支
创建并切换分支
git checkout -b develop #创建新分支develop,并切换到该分支
合并分支
git merge develop #将develop分支合并到当前分支
合并冲突
冲突文件内容
<<<<<<< 目的分支 echo 1234444; ======= echo 1233333333; >>>>>>> 合并分支
解决冲突
1. 手动删除冲突标志
2. 保留正确内容
3. 添加(git add .)并提交(git commit)
项目开发
master:主分支,主要用来版本发布
develop:开发分支,保存正常开发的最新代码
local:表示本地添加功能时的临时分支,基于develop创建,最后需要合并到develop分支
描述:
在本地的功能分支上添加功能代码,测试完毕合并到develop分支
98ed
(之后可以删除能够分支)
在合并在develop分支之后需要推送到服务器,先使用git pull拉下来最新的提交
若有冲突,解决完冲突后再次提交,然后推送到服务器
从服务器上clone下来的项目只有主分支,其它分支看不见,首次使用需要checkout
git clone https://github.com/JerryCoding/test.git git checkout develop
ssh登录(无密码登录)
需要使用公钥私钥对
产生公钥私钥对ssh-keygen,会在~/.ssh目录下生成(id_rsa,id_rsa.pub)
将id_rsa.pub公钥中的内容粘贴到托管网站中即可
首次使用需要身份确认
以后就可以无密码的推送了
工作原理
工作区 <==> 暂存区 <==> 版本库 <==> 远程库托管网站
github.comgit.oschina.net
coding.net