Git命令笔记

git init
git add (file or files) // 实际上就是把文件修改添加到暂存区
git commit -m (comment) // 实际上就是把暂存区的所有内容提交到当前分支

HEAD指向的是当前版本,HEAD^指向的是上个版本

Git允许我们在版本的历史之间穿梭,使用命令git reset --hard commit_id

穿梭前,用git log可以查看提交历史,以便确定要回退到哪个版本

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

git checkout -- filename 丢弃工作区的修改,将此文件返回到最近一次的git commit和git add状态

当你改乱了工作区某个文件的内容,想直接丢弃工作区的修改时,用命令git checkout -- file

当你不但改乱了工作区某个文件的内容,还添加到了暂存区时,想丢弃修改,分两步,第一步用命令git reset HEAD filename,就回到了场景1,第二步按场景1操作。

Github与本地版本库之间的协作:

1.将remote repo同步到本地:
$ git remote add origin git@github.com:michaelliao/learngit.git
添加后,远程库的名字就是origin,这是Git默认的叫法,也可以改成别的,但是origin这个名字一看就知道是远程库

2.下一步,就可以把本地库的所有内容推送到远程库上

创建新的分支:
git checkout -b dev
equals to= 1.git branch dev git checkout dev
删除分支:
git branch -d dev

git merge 命令用于合并指定分支到当前分支

推送分支,就是把该分支上的所有本地提交推送到远程库。推送时,要指定本地分支,这样,Git就会把该分支推送到远程库对应的远程分支上

eg: git push origin master
eg: git push origin dev

当你的小伙伴从远程库clone时,默认情况下,你的小伙伴只能看到本地的master分支
现在,你的小伙伴要在dev分支上开发,就必须创建远程origin的dev分支到本地,于是他用这个命令创建本地dev分支
$ git checkout -b dev origin/dev

查看远程库信息,使用git remote -v;

本地新建的分支如果不推送到远程,对其他人就是不可见的;

从本地推送分支,使用git push origin branch-name,如果推送失败,先用git pull抓取远程的新提交;

在本地创建和远程分支对应的分支,使用git checkout -b branch-name origin/branch-name,本地和远程分支的名称最好一致;

建立本地分支和远程分支的关联,使用git branch --set-upstream branch-name origin/branch-name;

从远程抓取分支,使用git pull,如果有冲突,要先处理冲突。

撤销最近一次的git add:git reset --mixed HEAD

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容