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

利用Git操作GitHub里的代码常用指令

2018-03-05 17:43 471 查看

Git和GitHub的关系

Git是一款免费、开源的分布式版本控制系统

Github是用Git做版本控制的代码托管平台

上传本地文件到GitHub

1.创建一个新的Git仓库

首先进入要上传文件的目录,点击右键,选择git bush here,在打开的界面输入如下代码:

git init ;


2.添加文件到Git仓库

2.1 使用命令

git add <file>


注:上述代码可以多次使用,添加多个文件,也可以直接用 . 表示所有文件

2.2 添加本次提交的声明

git commit - m '声明的内容'


3.关联GitHub的一个远程库

git remote add origin GitHub地址


4.推送master分支的所有内容

git push -u origin master


此后,每次本地提交后,只要有必要,就可以使用命令git push origin master推送最新修改

注意:如出现以下错误,上述代码的参数改为-f,即git push -f origin master

! [rejected]        master -> master (fetch first)
error: failed to push some refs to 'https://github.com/grace1217/git-demo.git'
hint: Updates were rejected because the remote contains work that you do
hint: not have locally. This is usually caused by another repository pushing
hint: to the same ref. You may want to first integrate the remote changes
hint: (e.g., 'git pull ...') before pushing again.


暂存区

工作区有一个隐藏目录.git,这个不算工作区,而是Git的版本库。

Git的版本库里存了很多东西,其中最重要的就是称为stage(或者叫index)的暂存区,还有Git为我们自动创建的第一个分支master,以及指向master的一个指针叫HEAD,HEAD指向当前版本。



把文件往Git版本库里添加的时候,是分两步执行的:

* 第一步是用git add把文件添加进去,实际上就是把文件修改添加到暂存区;

* 第二步是用git commit提交更改,实际上就是把暂存区的所有内容提交到当前分支。

因为我们创建Git版本库时,Git自动为我们创建了唯一一个master分支,所以,现在,git commit就是往master分支上提交更改。

简单理解为,需要提交的文件修改通通放到暂存区,然后,一次性提交暂存区的所有修改。


4000
返回上次操作

场景1:当你改乱了工作区某个文件的内容,想直接丢弃工作区的修改时

用命令

git checkout -- file


file为丢弃修改文件的文件名,注意中间的两个短横杠一定要有,否则就变成了切换到另一个分支的命令。

场景2:当你不但改乱了工作区某个文件的内容,还添加到了暂存区时,想丢弃修改

分两步:

第一步使用命令回到场景1

git reset HEAD file


第二步按场景1操作

场景3:已经提交了不合适的修改到版本库时,不过没有推送到远程库,想要撤销本次提交,采用回退方法;

Git命令允许在各个历史版本的穿梭

git reset --hard commit_id(版本号)


在Git中,用HEAD表示当前版本,上一个版本是HEAD^,上上一个版本是HEAD^^,当然往上100个版本写100个^比较容易数不过来,所以写成HEAD~100

或者可以使用来查询生成的版本号,版本号没必要写全,前几位就可以了,Git会自动去找。当然也不能只写前一两位,因为Git可能会找到多个版本号,就无法确定是哪一个了。

git log  (--pretty=oneline)


参数–pretty=oneline简化显示的内容

要重返未来,用git reflog查看命令历史,以便确定要回到未来的哪个版本。

删除

删除文件,删除后记得git commit -m “remove 文件”

git rm 文件名


分支

查看分支

git branch (-a) //-a表示查看所有的分支,包括隐藏的


删除分支

git push origin -d 分支名


文件状态

要随时掌握工作区的状态,使用git status命令。

如果git status告诉你有文件被修改过,用git diff可以查看修改内容。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: