Linux下Git和GitHub环境的搭建
1.创建Github帐号 (name@server.com)
2.安装git
[root@cloud ~]# yum install git -y
3.生成ssh key,复制公钥
[root@ray ansible]# ssh-keygen -t rsa -C 'name@server.com' [root@ray .ssh]# cat ~/.ssh/id_rsa.pub
4.登陆github setting-->ssh and gpg keys-->new ssh key-->粘贴公钥
5.测试ssh key是否部署成功
[root@ray ansible]# ssh -T git@github.com
6.配置git
[root@cloud ~]# git config --global core.editor vim [root@ray ansible]# git config --global user.eamil 'name@server.com' # 邮箱 [root@ray ansible]# git config --global user.name 'Raylively' # 用户名 # 查看配置 [root@cloud ~]# git config --list [root@cloud ~]# cat ~/.gitconfig
工作区: 编写程序的目录
# 创建全新的工作目录 [root@cloud ~]# git init py3 # 使用已经存在的目录,在目录下执行如下命令 [root@cloud py3]# git init . # 查看版本库.git [root@cloud py3]# ls -A # 查看状态 [root@cloud py3]# git status # 添加文件到暂存区 [root@cloud py3]# git add files # 加入指定文件 [root@cloud py3]# git add . # 加入全部文件 # 删除暂存区文件 [root@cloud py3]# git rm --cached files # 提交 [root@cloud py3]# git commit [root@cloud py3]# git commit -m 'second commit' # 查看提交历史 [root@cloud py3]# git log
暂存区:保存工作区文件到版本库之间的缓冲地带
版本库:保存每次提交的代码。(工作区中的.git目录就是版本库)
分支管理
# 创建一个本地分支: git branch <新分支名字> [root@cloud py3]# git branch b1 # 将本地分支同步到GitHub上面: git push <本地仓库名> <新分支名> #切换到新建立的分支: git checkout <新分支名> [root@cloud py3]# git checkout b1 # 合并分支到master [root@cloud py3]# git checkout master [root@cloud py3]# git merge b1 #为你的分支加入一个新的远程端: git remote add <远程端名字> <地址> #查看当前仓库有几个分支: git branch [root@cloud py3]# git branch #从本地删除一个分支: git branch -d <分支名称> [root@cloud py3]# git branch -d b1 #同步到GitHub上面删除这个分支: git push <本地仓库名> :<GitHub端分支>
切换到某一版本(如果需要修改,创建一个分支)
[root@cloud py3]# git log [root@cloud py3]# git checkout <版本序列>
2 利用Git从本地上传到GitHub
- 进入要所要上传文件的目录, 输入命令 git init
- 创建一个本地仓库origin,使用命令 git remote add origin git@github.com:your_name/yourRepo.git,your_name是你的GitHub的用户名,yourRepo是你要上传到GitHub的仓库
- 比如你要添加一个文件xxx到本地仓库,使用命令 git add xxx,可以使用 git add . 自动判断添加哪些文件
- 然后把这个添加提交到本地的仓库,使用命令 git commit -m "说明这次的提交"
- 最后把本地仓库origin提交到远程的GitHub仓库,使用命令 git push origin master
3 从GitHub克隆项目到本地
- 到GitHub的某个仓库,然后复制右边的那个(HTTPS clone url)
- 回到要存放的目录下,使用命令 git clone https://github.com/your_name/yourRepo.git,your_name是你的GitHub的用户名,yourRepo是你要clone的仓库
- 如果本地的版本不是最新的,可以使用命令 git fetch origin,origin是本地仓库
- 把更新的内容合并到本地分支,可以使用命令 git merge origin/master
- 如果你不想手动去合并,那么你可以使用: git pull <本地仓库> master 这个命令来拉去最新版本并自动合并
4 GitHub的分支管理
创建分支
- 创建一个本地分支: git branch <新分支名字>
- 将本地分支同步到GitHub上面: git push <本地仓库名> <新分支名>
- 切换到新建立的分支: git checkout <新分支名>
- 为你的分支加入一个新的远程端: git remote add <远程端名字> <地址>
- 查看当前仓库有几个分支: git branch
删除分支
- 从本地删除一个分支: git branch -d <分支名称>
- 同步到GitHub上面删除这个分支: git push <本地仓库名> :<GitHub端分支>
5 常见错误
如果出现报错为ERROR: Repository not found.fatal: The remote end hung up unexpectedly则代表你的 origin 的url 链接有误,可能是创建错误,也可能是这个 git@github.com:xxx/new-project.git url 指定不正确。重新创建。
命令行下:
echo "# Blog" >> README.md
git init git add README.md
git commit -m "first commit"
git remote add origin https://github.com/Raylively/Blog.git
git push -u origin master
修改/etc/ssh/ssh_config文件的配置,以后则不会再出现此问题
最后面添加:
StrictHostKeyChecking no
UserKnownHostsFile /dev/null
# 克隆版本库
git clone git@github.com:Raylively/q_a.git
# 上传文件
git add filename
git commit -m "add filename"
git push origin master
首先进入你的master文件夹下, Git Bash Here ,打开命令窗口
$ git --help # 帮助命令
$ git pull origin master # 将远程仓库里面的项目拉下来
$ dir # 查看有哪些文件夹
$ git rm -r --cached target # 删除target文件夹
$ git commit -m '删除了target' # 提交,添加操作说明
fatal: 远程 origin 已经存在。
此时只需要将远程配置删除,重新添加即可;
git remote rm origin
git remote add origin https://github.com/***/WebCrawlers.git