centos-rhel服务器相关 / linux / 未分类 · 2015年6月18日

How to use Git

#changelog 加上自己近来常用的
申请注册github帐号
https://github.com/evan886/use-git
#clone 远程的一个仓库,并添加东西
mkdir github
cd github/
#创建本地仓库
git clone https://github.com/evan886/shell.git
cd shell/
vi redisins.sh
git config --global user.name "evan886"
git config --global user.email "[email protected]"
git add .
git commit -m "redisinstall"
在GitHub账户中添加你的公钥

https://help.github.com/articles/generating-ssh-keys/
中的
Step 4: Add your SSH key to your account
ssh -T [email protected]
看到下面信息 表示成功
Hi username! You've successfully authenticated
#在GitHub账户中添加你的公钥后
#你和github服务器之间,相当于就达成了ssh认证的协议。但是,还有一个问题,本地仓库不知道如何用ssh
#git remote set-url origin [email protected]:myusername/myrepo.git
git remote set-url origin [email protected]:evan886/shell.git
#本地作了修改,就需要同步到github服务器上
git push origin master

#于是个人写成了一个脚本
evan@evankali:~/ji/ops$ cat co
#!/bin/bash
#2.拉回来
git pull
#33.添加和推上去
git add . #添加当前目录下的所有文件和子目录
git commit -m "`date`" #"dbbak and cutnglog"
git push origin master
#git push
#有时记得要删除
# 位于分支 master
# 尚未暂存以备提交的变更:
# (使用 "git add/rm ..." 更新要提交的内容)
# (使用 "git checkout -- ..." 丢弃工作区的改动)
# 删除: document/plan
# 删除: document/plan~
#修改尚未加入提交(使用 "git add" 和/或 "git commit -a")
#Everything up-to-date

新建 repo什么的 在页面就可以了
In the upper-right corner of any page, click , and then click New repository
https://github.com/new
写 Repository name 和Description (optional) (可选)
https://help.github.com/articles/create-a-repo/
删除github repository的方法
具体方法如下:点击 进入想要删除的repository->点击fork下方的Settings->点击最下方的Delete this repository->输入想要删除的项目的名称以防误删。
是否确定要删除, 确定的话输入 仓库的名字
ps
需要注意的是,每个仓库都有https版的链接和ssh版的链接,如果你git clone的是https链接,则用ssh时需要显式设置,而如果你git clone的本来就是ssh链接,则无需git remote set-url。
git clone [email protected]:myusername/myrepo.git
Git 常用命令使用
命令行里git的命令列表以及解释:
git clone

:复制代码库到本地。
git add …:添加文件到代码库中。
git rm …:删除代码库的文件。
git commit -m :提交更改,在修改了文件以后,使用这个命令提交修改。
git pull:从远程同步代码库到本地。
git push:推送代码到远程代码库。
git branch:查看当前分支。带*是当前分支。
git branch :新建一个分支。
git branch -d :删除一个分支。
git checkout :切换到指定分支。
git log:查看提交记录(即历史的 commit 记录)。
git status:当前修改的状态,是否修改了还没提交,或者那些文件未使用。
git reset :恢复到历史版本。
看了这些命令以后,对里面的名词肯定有所疑问。代码库应该很好理解,就是存放代码的地方,而在 git clone 里,代码库一般指的是远程的代码库,即 github 给出的链接。而分支则是开发的一个阶段或者一个旁系版本,至于怎么定则取决于使用者了。例如,有一个分支叫做stable,代表里面的代码是经过测试的、稳定的;另一个分支叫dev,则是保存开发中的代码,不一定经过足够测试。
一般的开发流程
一般使用 git 的流程: 1. 编辑文件,更新代码。 2. 添加代码到当前待提交的更改列表中:git add <修改的文件>。 3. 提交当前修改作为一个记录:git commit -m ‘修改了<修改的文件>,原因是:……’。 4. 更新代码:git push。
Linux下使用github
http://www.pkuwwt.tk/linux/2014-03-08-how-to-use-github/
http://www.yangzhiping.com/tech/github.html
使用SSH密钥连接Github【图文教程】

第 30 天:分享工作中幾個好用的 Git 操作技巧
https://github.com/doggy8088/Learn-Git-in-30-days/blob/master/docs/30%20%E5%88%86%E4%BA%AB%E5%B7%A5%E4%BD%9C%E4%B8%AD%E5%B9%BE%E5%80%8B%E5%A5%BD%E7%94%A8%E7%9A%84%20Git%20%E6%93%8D%E4%BD%9C%E6%8A%80%E5%B7%A7.markdown
###################################
sudo apt-get install git # 安装 Debian 系列
centos 安装 http://www.linuxchina.net/?p=49
下面的操作是我用kali 的 ,特别方便 每天执行一下脚本就全部push了
1.本地操作
mkdir script
cp ../dbbak script/
cp ../cut_nginx_log.sh script/
#!/bin/bash
#2.拉回来
git pull
#33.添加和推上去
git add . #添加当前目录下的所有文件和子目录
git commit -m “`date`” #”dbbak and cutnglog”
git push
基本操作
1.设置用户信息
Git 配置文件为 ~/.gitconfig 或系统全局设置 /etc/gitconfig 。
git config --global user.name evan #该昵称显示在提交时使用
git config --global user.email [email protected] #该邮箱提交时使用
#在上述设置完毕后,可运行下面命令查看自己的设置:
git config user.name
git config user.email

其实我们这些sa得最多的是clone某个源码包回来
比如下面
git clone git://git.kernel.org/pub/scm/git/git.git
git clone https://github.com/steveyen/moxi.git

2.创建仓库(以 Github 为例) #stop here
在 Github 创建账号后,点击 New Repository ,填写与本仓库相关的信息,如仓库名称、描述、是否公开。设置完毕后,点击“Create repository”即可创建新仓库。如,建立 test。
仓库创建完毕,我们开始创建 README 文件,这个是对仓库的详细介绍,或者写些你认为重要的描述。
$ mkdir ~/test #本地创建 test 文件夹
$ cd test/
$ git init #初始化 Git 仓库
$ touch README #创建README,但该文件尚未添加到版本库
3.提交文件到版本库
$ git add README #将创建的 README 文件加入到版本库
$ git commit -m “commit README” #将文件提交到版本库
$ git log #查看提交日志
4.推送到 Github 远程仓库
上述一系列操作,我们只是在本地建立了一个 Git 版本库,我们还需要将其推送到远程服务器(Github 仓库)。完成下述操作后,我们就可以在 Github 页面上看到我们提交的文件了。
$ git remote add origin https://github.com/tuhaihe/test.git
$ git push origin master #推送到Github test仓库主枝,一般默认为 master
5.更多操作
查看修改后的文件与版本库中的文件差异
$ git diff
查看状态
$ git status
6.需要注意的几个问题
使用 rm ~/file.txt 删除了本地仓库中的文件,但在远程仓库中仍旧存在。
解释:使用 rm 只是删除了本地文件,并没有将 file.txt 从版本库中删除,可以使用 git rm file.txt 将该文件从版本库中删除。
使用 git clone 克隆的仓库无法提交更改。
解释:git 支持 SSH 协议、HTTP 协议、Git 协议进行数据传输。SSH 协议支持读写操作,通过 HTTP 和 Git 协议克隆下来的仓库仅只读(如果要支持写,需要进行设置),建议使用 SSH 协议进行克隆。
Git 版本控制三部曲:“git add–>git commit–>git push”。
参考资料
http://www.bentutu.com/git-basic.html
http://rogerdudler.github.io/git-guide/index.zh.html
http://git-scm.com/book/zh
How to Install Git on Ubuntu 12.04
(Install Git with Apt-Get and Install Git from Source)
https://www.digitalocean.com/community/articles/how-to-install-git-on-ubuntu-12-04
http://marklodato.github.io/visual-git-guide/index-zh-cn.html
https://help.ubuntu.com/community/Git