github的使用---git版本控制

git 安装linux

ubuntu下: sudo apt-get install git 源码安装

  

windows下载git软件便可git

git核心原理github

git经常使用命令shell

 

git add 添加提交任务到暂存区 git commit -m "commit info" 添加提交任务到版本库 git log 查看提交记录 git diff 查看工做区和暂存区的差别 git diff --cached 查看暂存区和版本库的差别 git diff HEAD 查看工做区和版本库的差别 git status -s 简短输出,第一个M表示暂存区和版本库内容不一致;第二个M表示工做区和暂存区内容不一致 git checkout -- file.txt 把暂存区的file.txt文件恢复到工做区,覆盖工做区以前的修改。checkout命令主要是把历史某个版本检出到工做 区。慎用 git reset HEAD 暂存区的目录树被版本库里的内容重置,可是工做区不受影响。放弃以前git add的提交。 git reset --hard SHA1号/HEAD 工做区和暂存区的目录树被版本库里的内容重置。放弃以前git add和个git commit的提交。 git rm file.txt 删除文件 git blame file.txt 查看文件提交历史信息,方便定位bug git show-ref 查看所包含的引用 git merge 进行合并操做 git push -u origin master 向远程版本库origin的master分支提交 git pull 把远程版本库的master分支拉到本地,数据同步服务器端 git tag -m "my first tag" mytagv1.0 制做里程碑 git cat-file tag mytagv1.0 查看mytagv1.0提交信息 git tag -l -n1 查看全部tag,n1显示一行信息 git tag -d mytagv1.0 删除tag git branch newbranch 建立分支 git checkout newbranch 切换到newbranch分支 git branch -d newbranch 删除分支,如没合并,则失败 git branch -D newbranch 强制删除分支 git push origin :newbranch 先删除本地分支,再删除远程版本库对应分支 git show-ref 查看本地引用 git checkout -b hello-1 origin/hello-1 建立跟踪远程分支的本地分支,随后能够pull和push远程分支 git remote add new-remote file:///path/hello-1.git
建立远程版本库 git remote -v 查看远程版本库

 

 

 github协做开发GitHub(网址 https://github.com/)是一个面向开源及私有软件项目的托管平台,由于只支持Git做为惟一的版本库格式进行托管,故名GitHub数据库

github地址:ubuntu

https://github.com/

 建立账号vim

 

建立项目
  1.建立项目
  2.下载项目windows

1. 网页下载zip文件
2. git clone https://github.com/xwpfullstack/itcast.git

  linux终端配置服务器

1 配置环境
设置系统全局用户ssh

Global setup: git config --global user.name "Your Name" git config --global user.email xwp_fullstack@163.com

每一个项目也能够单独在配置文件里设置用户

vim .git/config

  查看环境配置

git config -l

  删除全局配置

git config --unset --global user.name
git config --unset --global user.email

  

ssh配置
1.生成ssh-key,在终端下执行如下命令

itcast$ ssh-keygen ~/.ssh/id_rsa是私钥文件 ~/.ssh/id_rsa.pub是公钥文件

 

2.把公钥上传到github上

 


配置好ssh公钥后,在终端下执行如下命令

 

ssh -T git@github.com Hi gotgithub! You've successfully authenticated, but GitHub does not provide shell access. 出
现上述提示证实配置好ssh

 

.ssh-key的做用
用户命令行下提交代码时不须要再输入帐号和密码,默认https协议是须要输入的
修改项目中./git/config文件,把url换成 url = git@github.com:注册名/项目名.git
例如: url = git@github.com:xwpfullstack/test.git

 

第一个项目

1 新建空项目
先在github页面建立一个项目world

git clone https://github.com/xwpfullstack/world.git
cd world echo "world"" >> README.md
git add README.md

 git commit -m "first commit"
 git remote add origin https://github.com/xwpfullstack/world.git
 git push -u origin maste

把一个已经存在的git管理的项目放到github上托管

git remote add origin https://github.com/xwpfullstack/world.git
git push -u origin master

  

下载项目
三种下载方式:

https协议下载
git clone https://github.com/username/test.git
Git-daemon协议下载
git clone git://github.com/username/test.git
打包下载

 

 分支

 

git branch -a
查看全部分支,含远程
git branch
查看本地分支
git branch -r
查看远程分支
git branch newbranch
建立新分支
git branch -d oldbranch
删除分支oldbranch
git push origin newbranch
把新分支同步到远程仓库
git push origin :oldbranch
删除远程oldbranch分支
git checkout -b newbranch
切换到另外一分支,若是不存在则建立
git checkout branch
切换到另外一分支
git clone新项目时
不管当前项目在什么分支,都是下载默认master分支
git checkout master
git merge anthorbranch
git push origin maste
合并开发分支到master分支
git pull尽可能少使用,隐含了合并信息
get featch 下载远程origin/master更新
git diff master origin/master
查看本地和远程库的区别
get merge origin/master
合并远端更新到本地

  

tag
tag

git tag v1.0 -m "tag v1"
建立一个标签
git push origin --tags
把全部标签同步到远程库
git checkout v1.0
检出v1.0版本
git reset --hard v1.0
使代码重置,回到v1.0。此功能慎用,后开发的代码会丢失
git tag -d v1.0
删除标签v1.0
git push origin :v1.0
删除远程库里标签
git tag -l -n1
查看全部tag

  


 HEAD
HEAD

指向当前提交点,游标指针 HEAD^ 上次提交点,父提交点 git checkout HEAD^ 切换到上次提交点,不在分支 git reset --hard HEAD^ 撤销本次提交,恢复到上次提交状态,新建立的文件会丢弃 4.5.7 忽略监控文件 .gitignore通常把.o和临时文件设置进去,忽略代码监控,如某项目.gitignore: #过滤数据库文件、sln解决方案文件、配置文件
*.mdb
*.ldb

*.sln
*.config

#过滤文件夹Debug,Release,obj
Debug/
Release/
obj/

 

而后调用git add. ,执行 git commit便可。问题:.gitignore只适用于还没有添加到git库的文件。若是已经添加了,则需用git rm移除后再从新commit。

相关文章
相关标签/搜索