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 ...
随机推荐
- NFS 配置文件
NFS 配置文件是 /etc/exports,内容如下: [root@localhost ~]# cat /etc/exports /data 192.168.216.129/32(rw,sync,a ...
- Android中的安全与访问权限控制
Android是一个多进程系统,在这个系统中,应用程序(或者系统的部分)会在自己的进程中运行.系统和应用之间的安全性是通过Linux的facilities(工具,功能)在进程级别来强制实现的,比如会给 ...
- [PyCharm] 设置自动启动时自动打开项目
设置启动PyCharm时自动打开(或不打开)上次进行的项目: 选择 “Settings - General - Reopen last project on startup”,勾选该选项则启动时自动打 ...
- 【译】调优Apache Kafka集群
今天带来一篇译文“调优Apache Kafka集群”,里面有一些观点并无太多新颖之处,但总结得还算详细.该文从四个不同的目标出发给出了各自不同的参数配置,值得大家一读~ 原文地址请参考:https:/ ...
- MPAndroidChart market右边显示不全问题
//lineChart.setMarkerView(new CustomChartMarkerView(activity, R.layout.line_chart_maker));//add mark ...
- iOS9下App Store新应用提审攻略
博文转载 CocoaChina 文/文公子 公子在第十讲中提到应用更新时需要注意的细节和苹果便捷通道的利用.今天,公子将进一步深扒iTunes Connect的面纱,为大家呈现新应用在提审前需要准备的 ...
- codeforces水题100道 第四题 Codeforces Round #105 (Div. 2) A. Insomnia cure (math)
题目链接:http://www.codeforces.com/problemset/problem/148/A题意:求1到d中有多少个数能被k,l,m,n中的至少一个数整出.C++代码: #inclu ...
- 【Java并发编程三】闭锁
1.什么是闭锁? 闭锁(latch)是一种Synchronizer(Synchronizer:是一个对象,它根据本身的状态调节线程的控制流.常见类型的Synchronizer包括信号量.关卡和闭锁). ...
- 题目1016:火星A+B(进制新问题)
题目链接:http://ac.jobdu.com/problem.php?pid=1016 详解链接:https://github.com/zpfbuaa/JobduInCPlusPlus 参考代码: ...
- innodb 锁机制
InnoDB锁问题 InnoDB与MyISAM的最大不同有两点:一是支持事务(TRANSACTION):二是采用了行级锁.行级锁与表级锁本来就有许多不同之处,另外,事务的引入也带来了一些新问题.下面我 ...