Ubuntu上安装Git及推送到远程仓库
1.安装Git
$ apt-get install libcurl4-gnutls-dev libexpat1-dev gettext \ libz-dev libssl-dev $ apt-get install git $ git --version
生成/添加SSH公钥
ssh-keygen -t rsa -C "xxxxx@xxxxx.com"
按照提示完成三次回车,即可生成 ssh key。通过查看 ~/.ssh/id_rsa.pub
文件内容,获取到你的 public key
cat ~/.ssh/id_rsa.pub
添加后,在终端(Terminal)中输入
ssh -T git@gitee.com
首次使用需要确认并添加主机到本机SSH可信列表。若返回 Hi XXX! You've successfully authenticated, but Gitee.com does not provide shell access.
内容,则证明添加成功。
2.推送项目(进入你想要推送的文件夹)
git init
git status
git add .
git commit -m '备注信息' git remote add origin ssh (这里的ssh是你的仓库的ssh)
git push -u origin master
如果推送时遇到:! [rejected] master -> master (fetch first)
解决方式:git pull --rebase origin master 将github修改的文件更新到本地
然后再
git push -u origin master
常用命令:
# 查看已存在的远程库
git remote -v
# 删除已有的远程库 git remote rm origin
3.git分支管理
创建分支命令:
git branch (branchname)
我们也可以使用 git checkout -b (branchname) 命令来创建新分支并立即切换到该分支下,从而在该分支中操作。
切换分支命令:
git checkout (branchname)
列出分支基本命令:
git branch
删除分支命令:
git branch -d (branchname)
合并分支命令:
git merge (branchname)
合并冲突
合并并不仅仅是简单的文件添加、移除的操作,Git 也会合并修改。
1.在master分支上创建一个test01
$ echo '哈哈哈' >> test01 $ git add . $ git commit -m '哈哈哈' $ cat test01 哈哈哈 $ git branch * master
2.创建一个叫做 aa 的分支,切换过去,我们将test01 内容修改
$ git checkout -b aa $ vim test01 啦啦啦 $ git commit -am '啦啦啦' $ cat test01 啦啦啦
3. 现在,假如切换回 master 分支我们可以看内容恢复到我们修改前的,我们再次修改 test01文件。
$ git checkout master $ cat test01 哈哈哈 $ vim test01 哦哦哦 $ git commit -am '哦哦哦' $ cat test01 哦哦哦
4.现在这些改变已经记录到我的 "master" 分支了。接下来我们将 "aa" 分支合并过来。
$ git merge aa 自动合并 test01 冲突(内容):合并冲突于 test01 自动合并失败,修正冲突然后提交修正的结果。 $ cat test01 # 打开文件,看到冲突内容 <<<<<<< HEAD 哦哦哦 ======= 啦啦啦 >>>>>>> aa
5.我们将前一个分支合并到 master 分支,一个合并冲突就出现了,接下来我们需要手动去修改它。
$ vim test01
哦哦哦
啦啦啦
6.在 Git 中,我们可以用 git add 要告诉 Git 文件冲突已经解决
$ git status -s UU test01 $ git add test01 $ git status -s M test01 $ git commit [master 88afe0e] Merge branch 'aa'
Git标签
发布一个版本时,我们通常先在版本库中打一个标签(tag),这样就唯一确定了打标签时刻的版本。将来无论什么时候,取某个标签的版本,就是把那个打标签的时刻的历史版本取出来
创建标签
git tag v1.0
查看已有标签
git tag
删除标签
git tag -d v1.0
查看此版本所修改的内容
git show v1.0