Git常用操作命令

来源:互联网 发布:linux卸载oracle11g 编辑:程序博客网 时间:2024/06/08 18:04

常用命令

git --version       查看版本信息git config --global user.name = "name"          配置用户名git config --global user.email = "xxx@xxx.com"  配置用户邮箱cd:切换工作目录,change directorypwd:打印工作目录,print work directoryls:查看指定目录的内容,不指定查看当前目录,list    -a:查看所有内容,包括隐藏文件(以.开头的文件)    -l:列表显示详细信息clear:清空屏幕显示,快捷操作:ctrl + Lgit 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.txtabc/            忽略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分支(之后可以删除能够分支)
    • 在合并在develop分支之后需要推送到服务器,先使用git pull拉下来最新的提交
    • 若有冲突,解决完冲突后再次提交,然后推送到服务器

从服务器上clone下来的项目只有主分支,其它分支看不见,首次使用需要checkout

git clone https://github.com/JerryCoding/test.gitgit checkout develop

ssh登录(无密码登录)

  • 需要使用公钥私钥对
  • 产生公钥私钥对ssh-keygen,会在~/.ssh目录下生成(id_rsa,id_rsa.pub)
  • 将id_rsa.pub公钥中的内容粘贴到托管网站中即可
  • 首次使用需要身份确认
  • 以后就可以无密码的推送了

工作原理

工作区 <==> 暂存区 <==> 版本库 <==> 远程库

托管网站

  • github.com
  • git.oschina.net
  • coding.net