Github常用命令【转】
本地仓库(local repository)
创建一个本地仓库的流程:
- 为本地仓库创建一个目录
- 在目录中执行 git init
对本地仓库所做的改变(例如添加、删除文件等)首先加入到本地仓库的 Index(stage)中,之后通过 commit 命令将这些改变提交到本地仓库。
创建某个仓库的拷贝
- git clone /path/to/repository
这里的 /path/to/repository 可以是一个本地路径,也可以是一个 URL。范例:
- git clone https://github.com/name5566/merry.git
针对本地仓库的常见操作
- 文件添加操作
- 将文件加入到 Index 中去(文件被修改也需要加入到 Index 后才能提交)
- git add filename
- 将所有新增的文件加入到 Index 中去
- git add *
- 文件(或目录)的移动(或重命名)操作
- git mv file1 file2
- 文件的删除操作
- 将文件从当前目录和 Index 中移除
- git rm filename
- 提交改变到本地仓库
- 提交改变到本地仓库
- git commit -m "message"
- 根据当前文件被修改和删除的情况更新 Index 并提交这些改变到本地仓库(未告知 git 的新文件除外)
- git commit -a -m "message"
- 显示当前尚未提交的改变
- git status
将本地仓库的改变推送到远程仓库
我们使用 commit 命令将改变提交到本地仓库,之后可以将这些改变推送到远程仓库中:
- 这里 master 表示分支,你可以根据实际需要推送的分支来进行修改
- git push origin master
分支
- 分支间相互切换
- git checkout master
- git checkout feature_x
- 创建新分支并切换过去
- git checkout -b feature_x
- 删除特定分支
- git branch -d feature_x
删除远程子分支
1. git push origin -d feature_x
- 合并分支
- git merge feature_x
分支创建之后,可以推送到远程仓库:
- git push origin feature_x
更新本地仓库
- git pull
日志
- 显示日志
- git log
- 显示 bob 的日志
- git log --author=bob
替换本地修改
有时候,我们希望还原所做的修改:
- 放弃当前对 filename 文件的修改,获取本地仓库中最后一次提交的结果
- git checkout -- filename
- 放弃本地所有改变和提交,直接从远程仓库获取
- git fetch origin
- git reset --hard origin/master
从github上clone子分支
正常情况下,我们在github上看到一个clone地址,git clone xxxxxxx.git后,默认clone进入的是master分支,如果想切换到某一个子分支,可以使用
git checkout -b child_repos origin/child_repos
其中,child_repos指的是目标子分支名,
这时,使用git branch可以看到自己已经在子分支上,正常
git pull origin child_repos
git push origin child_repos
即可。
Git 怎样保证fork出来的project和原project(上游项目)同步更新
步骤:
1. 在 Fork 的代码库中添加上游代码库的 remote 源,该操作只需操作一次即可。
如: 其中# upstream 表示上游代码库名, 可以任意。
git remote add upstream https://github.scm.corp.ebay.com/montage/frontend-ui-workspace
2. 将本地的修改提交 commit
3. 在每次 Pull Request 前做如下操作,即可实现和上游版本库的同步。
3.1 : git remote update upstream
3.2 : git rebase upstream/{branch name}
需要注意的是在操作3.2之前,一定要将checkout到{branch name}所指定的branch,
如: git checkout develop
4. Push 代码到 Github
git push
如果项目中有引用其他项目作为子项目 clone时使用
`git clone` 的时候加上 `--recursive`
可以clone整个项目,包含子项目
Github常用命令【转】的更多相关文章
- Github 常用命令
小记一些Github常用命令 : 在一个项目中... 假如要修补问题追踪系统上的 #53 问题.顺带说明下,Git 并不同任何特定的问题追踪系统打交道.这里为了说明要解决的问题,把新建的分支取名为 i ...
- Linux 使用 github 常用命令
Linux 使用 github 常用命令 今天整理一下常用的 github 命令,自己只是一个编程小白,有些地方可能做的不是很好,仅仅用作自己的学习使用. 创建一个文件夹用于存放github仓库 m ...
- github常用命令
全局配置 git config --global user.name "lewiscutey"git config --global user.email "lewisc ...
- git(github)常用命令
安装git sudo apt-get install git 显示git版本 git version 显示system属性,对应为/etc/gitconfig文件的内容 git config --sy ...
- GitHub常用命令及使用
GitHub使用介绍 摘要: 常用命令: git init 新建一个空的仓库git status 查看状态git add . 添加文件git commit -m '注释' 提交添加的文件并备注说明gi ...
- GIt/Github常用命令
1)git init:初始化本地仓库 2)创建文件:touch read.txt 3)当操作本地的文件时,使用常用的命令,如(mv,ls..)就可以操作,当操作暂存区的文件时需要在命令前家git,并且 ...
- GitHub 常用命令使用介绍(新同学入门)
经济在不断发展,社会在不断进步,以往的互联网在现在看来都可以称为传统互联网了,因为技术不断的在突破和革新. 本文主要介绍一下版本管理工具,我猜测很多人还是用SVN.CVS或者Resion,但是,今天我 ...
- github常用命令汇总
创立版本库 mkdir Baiducd Baidugit init SSHssh-keygen -t -rsa -C "TaylorApril947939@gmail"(在gith ...
- Git与github常用命令
Git项目与github建立联系 首先,需要在github上建立一个repository mkdir github-project cd github-project git init 此时githu ...
随机推荐
- C++ template —— 模板与继承(八)
16.1 命名模板参数许多模板技术往往让类模板拖着一长串类型参数:不过许多参数都设有合理的缺省值,如: template <typename policy1 = DefaultPolicy1, ...
- Spring Mvc 页面传递数组到后台接收
1.定义一个简单的类 User.java public class User { private Integer id; private String name; public Integer get ...
- iOS 事件的产生、传递、响应
一.事件的产生和传递 1.1.事件的产生 发生触摸事件后,系统会将该事件加入到一个由UIApplication管理的事件队列中为什么是队列而不是栈?因为队列的特定是先进先出,先产生的事件先处理才符合常 ...
- 《转载》renameTo文件在windows环境下可以,在linux中报错
以前我一直以为File#renameTo(File)方法与OS下面的 move/mv 命令是相同的,可以达到改名.移动文件的目的.不过后来经常发现问题:File#renameTo(File)方法会返回 ...
- linux下的shell操作mysql
(1)MySQL的启动 重启了一次服务器后,使用> mysql -u root -p登陆是出现下面的错误: ERROR 2002 (HY000): Can't connect to local ...
- 【Python3】 PyV8的安装与使用
centos7 python3.6.4 1 安装boost : PyV8 依赖于Boost yum install boost yum install boost-devel yum insta ...
- Makefile 链接静态库
Linux的静态库是以.a结尾的,要连接静态库有两种方法,一种是在编译命令最后直接加上库路径/库名称. 例如你的库在绝对目录/lib/libtest.a下面你就可以这样来编译$(CC) $(CFLAG ...
- C陷阱与缺陷读书笔记
2.1理解函数声明 这一章仔细分析了(*(void(*)())0)();这条语句的含义,并且提到了typedef的一种函数指针类型定义的用法. 我们经常用到的typedef用法是用于指定结构体的类型, ...
- OpenStack Networking – FlatManager and FlatDHCPManager
最好的分析FlatDHCPManager的源文,有机会把这篇翻译了 =========================== Over time, networking in OpenStack has ...
- CF 455A Boredom
A. Boredom time limit per test 1 second memory limit per test 256 megabytes input standard input out ...