您的位置:首页 > 编程语言

【GIT】git与github的相关操作,一条流水线

2018-10-24 15:12 232 查看

1.git安装

git官网下载安装

2.配置git

设置密钥
首先在本地创建ssh key;

$ ssh-keygen -t rsa -C "your_email@youremail.com"
邮箱尽量填写注册github时的邮箱

成功后在C:\Users’'你的用户名"生成.ssh文件夹,点进去打开id_rsa.pub,复制里面的key。回到github上,进入 Account Settings(账户配置),左边选择SSH Keys,Add SSH Key,title随便填,粘贴在你电脑上生成的key。

为了验证是否成功,在git bash下输入:

$ ssh -T git@github.com
如果是第一次的会提示是否continue,输入yes就会看到:You’ve successfully authenticated, but GitHub does not provide shell access 。这就表示已成功连上github。

设置username和email,因为github每次commit都会记录他们。

$ git config --global user.name “your name”
$ git config --global user.email "your_email@youremail.com"
注:如果已经设置过了,可以跳过这一步

初始化git,没创建一个新项目,都应该先git init

$ git init 初始化后目录文件夹中会出现.git的隐藏文件夹

进入你的项目目录,链接远程仓库地址,右键git bash:

$ git remote add origin git@github.com:yourName/yourRepo.git(此为github项目的SSH)

注意:取消本地目录下关联的远程库

git remote remove origin //每次使用完之后都应该与远程库断开

进入本地项目目录中.git,打开config,这里会多出一个remote "origin"内容,这就是刚才添加的远程地址。

将github上仓库内容克隆到本地
此时不能使用git pull,因为本地目录为空,没有任何分支

git clone git@github.com:kong/one.git(这个是你项目的SSH)

将本地项目上传至github仓库

流程线:本地内容—暂存区—HEAD—github远程仓库

1.将内容提交到暂存区

git add [filename] //某个文件
git add . //当前目录所有文件

2.将暂存区内容提交到HEAD

git commit -m “提交标记信息”

3.将HEAD内容提交至github远程仓库
第一次需要写origin master

git push origin master //第二次再提交可以直接写git push

到这里git与github的最基本操作就完了,下面是git更进一步的操作

分支操作

git branch 查看本地所有分支
git branch 查看远程所有分支

创建一个叫做"feature"的分支,并切换过去

git branch feature
git checkout feature
或者直接写下面一句:
git checkout -b feature

删除’"feature"分支

git branch -d feature

单独将该分支推到github远程仓库中,不然外人不能看到这个分支及其内容

git push origin feature
也可以在本地项目内容操作完成,通过,git add ,git commit -m ‘信息’ ,git push一起提交

更新与合并

git pull:是从远程获取最新版本到本地,并自动merge;
git fetch:是从远程获取最新版本到本地,不会自动merge;
git pull 其等于获取fetch+合并merge

使用git pull 时应该保证本地具有当前分支,如果本地为空,应为git clone

合并到当前分支(例如master),注意:此时应该切换到目的分支

git merge [branch]

如果合并发生冲突(conflicts),需要手动修改,修改完成之后,git add [filename],来向git说明,修改完成

在合并改动之前,你可以使用如下命令预览差异:

git diff <source_branch> <target_branch>

查看git状态

git status 以查看在你上次提交之后是否有修改。
git diff来查看执行git status的结果的详细信息。
1.尚未缓存的改动:git diff
2.查看已缓存的改动:git diff --cached
3.查看已缓存的与未缓存的所有改动:git diff HEAD
4.显示摘要而非整个diff:git diff --stat

替换本地改动
假如你操作失误,你可以使用如下命令替换掉本地改动:

git checkout . 或git checkout – [file]
会用暂存区全部或指定的文件替换工作区的文件。这个操作很危险,会清除工作区中未添加到暂存区的改动。
当执行 “git rm --cached [file]”
会直接从暂存区删除文件,工作区则不做出改变。

git reset HEAD [file]
//file是可选参数,此命令用于取消已缓存(在暂存区)的内容。

Git查看提交历史

git log

简洁版本

$ git log --oneline

图形化查看

$ git log --oneline --graph

时间逆向查看

$ git log --reverse --oneline

新手可以不用看,这个写给自己的
注意:本地和github仓库分支和内容其实基本一样,所有merge是将某个分支合并至本地某个分支上面,然后在推到github上面更新本地仓库(工作目录)。
简单来说,本地也具有和github上面一样的分支。

git和github相关操作参考文档

git教程文档

阅读更多
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: