赞
踩
代码仓库:
workspace 工作区域,本地存放项目代码的区域
Index/Stage 暂存区, 用于临时存放代码,实际上它是一个文件,保存即将提交到文件列表信息
Repostory 仓库区(版本库), 就是安全存放数据的位置,这里面有你提交到所有版本的数据,其中HEAD指向最新放入版本库的版本。
Remote 远程仓库,托管代码的服务器,可以简单的认为是你项目组中的一台电脑用于远程数据交换
Untracked: 未跟踪,此文件在文件夹中但并没有加入到git库,不参与版本控制,通过git add 状态变为Staged.
Unmodified: 文件已经入库,但是并未修改。即版本库中的文件快照内容与文件夹中完全一致,这种状态的文件有两种去处。如果它被修改而变为Modidied.如果使用git rm 移除版本库,则成为Untracked文件。
Modified 文件已修改,仅仅是修改并没有进行其它的操作,这个文件也有两个去处, 通过git add 可进入暂存装填(staged),使用git checkout 则丢弃修改,返回到Unmodified状态。这个git checkout 即从库中取出文件,覆盖当前修改。
Staged 暂存装填,执行git commit 则将修改同步到库中,这时库中的文件和本地文件又变为一致,文件为Umodified状态。
github 服务器的地址 :http://github.com
想使用github,第一步肯定是要注册github账号,如果有了账户直接登入就可以。
github是服务端,要在自己电脑上使用git我们还需要一个git客户端
windows用户下载链接:git 客户端网站
mac用户下载链接:mac客户端
一路next下来,安装成功,在任何文件夹下鼠标点击右键出现菜单中有 Git GUI here 、 Git Bash here说明安装成功。
1.查看配置信息 git config list
设置user.name和user.email配置信息
git config --global user.name "你的GitHub用户名"
git config --global user.email "你的GitHub注册邮箱"
2.生成私钥
ssh-keygen -t rsa -C "github登入邮箱地址"
在C:\Users\admin.ssh文件夹中找到id_rsa.pub,将里面所有的内容全部复制出来。
3.在这个网址https://github.com/settings/keys点New SSH key
Title随便输入,Key粘贴刚才复制的key,然后点击Add SSH key
$ git push origin master
fatal: 'origin' does not appear to be a git repository
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
解决方案:
git remote add origin git@github.com:xxxx.git
1.创建一个目录 mkdir dpdk_test
2.进入这个目录 cd dpdk_test
3. 初始一个为普通仓库 git init ,会在文件夹内生成一个隐藏的文件夹".git"
4. 有了仓库后,可以使用git add和git commit 向仓库添加要追踪的文件和提交文件。
仓库中文件默认是不被git 追踪管理。
查看状态 git status
$ git add . # 将所有修改添加到暂存区
$ git add *.cpp # 将以.cpp结尾的文件的所有修改添加到暂存区
$ git add hello* # 将所有以Hello开头的文件的修改添加到暂存区,例如: helloWorld.txt,hello.h,helloGit.md ...
$ git add hello?.* # 将以hello开头后面只有一位的文件提交到暂存区 例如:hello1.txt,helloA.cpp 如果是helloGit.txt和hello.cxx是不会被添加的
移除文件
git rm -f 或者 git rm –cached 把文件从暂存区里移除,这里移除并不代码把文件从磁盘上删除了,而是取消git对文件的管理。
提交到代码仓库
命令: git commit命令提交到仓库,实现真正的对文件的管理
git commit 用法
示例:
git commit -a -m “initial commit”, #把暂存区和当前已被跟踪的文件的所有的修改提交到仓库里,-m参数指定了此次提交的message内容
git commit Makefile Logger.cpp –m “修改编译错误,添加了对log4cpp库的依赖“ # 提交Makefile和Logger.cpp的修改
一:创建git账号和git用户组
$ sudo adduser git #添加git用户
$ sudo passwd git #添加git的密码
$ sudo groupadd git #添加git用户组
$ sudo usermod -G git git #添加git用户到git用户组
二、创建git仓库
$ cd /srv # srv目录下存放git的仓库
$ mkdir nginx-docs.git # 创建nginx-docs.git目录
$ cd nginx-docs.git
$ git init --bare # bare选项指示该仓库为裸仓库
$ sudo chown -R git:git /srv/nginx-docs.git # 修改权限为git用户
三、禁止git用户登录shell,这样git通过sh服务登录会被拒绝
四、克隆远程仓库
在文件内部右击选择Bash shell
输入 git clone git@47.106.79.26:/srv/nginx-docs.git
这个过程中需要输入用户名和密码,我们可以通过rsa认证的方式省略掉密码的输入
五、免密输入的配置
就是通过rsa认证,生成公钥和私钥,然后把客户端的公钥告诉git服务器,具体步骤如下:
在客户端机器上,比如我在windows机器上已经配置用户名和密码,打开git bash shell,生成rsa的秘钥对,ssh-keygen –t rsa “github注册邮箱”命令后一路按回车,此时会在c:/Users/lizhiyong/.ssh/目录下生成id_rsa.pub和id_rsa文件,id_rsa.pub是公钥文件,id_rsa是私钥文件
六、 服务器端
在git服务器上:
$ su git
$ ssh-keygen –t rsa
$ touch authorized_keys
然后把客户端的id_rsa.pub追加到这个文件里。这样后,我们就不需要每次都输入git密码了。
即clone命令为: git clone git@<您的 CVM IP 地址>:git仓库路径
例如 git clone git@47.106.79.26:/srv/nginx-docs.git
下载指定branch 下的代码
git clone -b 分支名 https://gihub.com/*******/****.git
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。