用过的Git指令

代码 描述
git config -global user.name "Andy"
git config -global user.email "[email protected]"
cd change directory,windows下可以直接在相应目录右键点击 Git Bash here
touch .gitignore 创建ignore文件
git init 进入项目目录后在当前目录创建.git本地仓库
git add . 把工作目录下所有文件添加进来
git commit -m"First commit" commit 带 message,忘记-m""会进入vim模式
git status 显示有更改的文件,会标明还没被add的更改和已经被add,to be committed的更改
git checkout texts/readme.txt discard changes in working directory,这个适用于还没add的,如果已经添加,则需要用reset 先撤销添加,然后再checkout
$ git reset HEAD texts/readme.txt 撤销已add的修改,将HEAD指向版本写入缓存区
$ git log 查看 commit 记录 (commit id, author, date, dscp.)
$ git log -1 -p 单条记录详细信息
git log --oneline 一行展示信息
git log --pretty=oneline 简练信息
git branch 查看分支, *master代表当前工作分支为master主干
git branch 1.0 创建分支
git branch -D 1.0 删除分支
git branch version1.0
git checkout version1.0
switched to branch 'version1.0,切换工作分支
完成代码改动后如果需要merge到master中则
git checkout master
git merge version1.0
切换到master,再merge version1.0
git merge --no-ff
git diff HEAD^ HEAD
更推荐的merge,能够从master视角看出该分支 更改前后的区别。
git log --graph --oneline 以图的形式展示出版本历史
git reset --hard HEAD~2 代码回滚到上一个版本,最后一次commit的节点会被删除,log中看不到,但是在reflog中可以查看到
git reset --mixed HEAD~2 作用同上,作用域不同

以上这些都是在单机上操作的,在进入到远程仓库之前需要搞清楚本地仓库的机制,了解工作区(working)、暂存区(stage)、版本库中HEAD指向的某个branch或master 的关系


详细介绍的原文:http://www.runoob.com/git/git-workspace-index-repo.html
以下开始联系远程仓库(remote repositories)


代码 描述
git remote -v --verbose简写,显示对应的克隆地址
git branch -r 显示远程分支
git clone https://github.com/Shuo-Lin/function-test.git 将远程仓库直接克隆到当前工作目录,产生一个function-test文件夹,这时对应的远程仓库地址存在变量origin
git push origin master 本地修改后可push到 oringin的master分支中
git fetch origin master 把mater分支下的东西取过来,会存放到origin/master分支上
git diff origin/master 这时可以通过diff命令来查看远程版本库上到底修改了哪些东西
git merge origin/master 把fetch下来的远端仓库merge到当前分支中
git pull origin master fetch+merge到当前分支中(当前分支不一定是本地的master)
git remote add name https://github.com/user/project.git 添加remote repository
git push 远程主机名 本地分支名:远程分支名 远程主机名是origin或其他
两个分支名通常是一样的,所以最后一个分支名通常被省略,如果远端仓库不存在相同的分支名而你省略了,默认会在远端创建一个新的同名分支
git push origin :refs/for/linshuo's
git push origin --delete linshuo's
省略了本地分支名,相当于推送一个空的分支远程分支,等价于删除语句
git push -u origin master 上面命令将本地的master分支推送到origin主机,同时指定origin为默认主机,后面就可以不加任何参数使用git push了。

你可能感兴趣的:(用过的Git指令)