最近恶补了一波github的操作命令,之前只是会常用用add commit 和push之类的。。就我看到的博客做一下github的命令的和学习总结。
Linux上可以直接install安装git,用起来也很方便,Windows上下载git bash相当于模拟了Linux上的命令窗口,用法一样。
学习git推荐廖雪峰的网站,貌似几小时就学完了:https://www.liaoxuefeng.com/
命令行常用命令:
首先是一波linux中命令行常用命令/也是git bush中可以用的:
-pwd (print working directory) 查看当前所在路径--绝对路径
-cd(change directory) 切换目标
-ls(list) 查看当前目录下的内容
-mkdir(make directory) 创建目录
-touch 创建文件
-cat 查看文件内容(一次性将内容全部显示)
-less 查看文件内容(显示部分信息)--再次输入‘回车’一行一行显示,‘空格’一页一页显示 ,‘b’一次向上走一页
-rm(remove) 删除文件,-rm -rf 文件夹(循环递进删除文件夹)
-rmdir(remove directory)删除文件夹(只能删除空文件夹,不常用)
-clear 清屏
-q 退出
-mv(move) 移动文件或重命名
-cp(copy) 复制文件
-echo ‘内容’ > 文件名 (输出内容到文件中,每次输入都是覆盖原来的文件)
-echo ‘内容’ >>文件名(输出内容到文件中,每次输入都是追加新内容)
关于git初始化配置可以直接看廖雪峰的网站有说,下面是一些常用的git命令(不包括配置命令)
git init: 初始化git 仓库
git status: 查看当前仓库的状态
git add test.txt:上传叫test.txt的文件到缓存区,上传多个之间用空格隔开继续添加
git add . :这个命令会将当前目标下所有文件上传)
git commit -m"备注":将暂存区中的代码提交到本地仓库,形成一个版本
git log:查看本地仓库中的历史提交版本
git diff: 不加参数即默认比较工作区与暂存区,加参数自行百度还挺复杂的
git rm --cached 文件名:将暂存区中文件删除
git checkout -- 文件名:用暂存区中的文件覆盖工作目录中的文件
git reset --hard commitID(commitID可以到git log中查看提交编号):回滚到本地仓库中特定版本并覆盖暂存区和工作目录,编号取前几位就行了git会自行查找其前缀
注意: 如果有版本1,版本2(后提交),当回滚到版本1时版本2会被自动删除。
分支相关命令(team中用到):
① 查看分支
git branch (显示结果中 有* 代表当前所在分支)
② 创建分支
git branch 分支名称
③ 切换分支
git checkout 分支名称
④ 创建并切换分支
git checkout -b 分支名称
⑤ 删除分支 (如果分支没有被合并不允许删除)
git branch -d 分支名称
⑥ 删除分支(强制删除分支)
git branch -D 分支名称
⑦ 合并分支
git merge 来源分支(意思:当前目录到主分支,将来源分支合并到主分支上。合并后来源分支仍然存在)
github远程仓库
① 为远程仓库地址创建别名
git remote add origin +ssh或者https地址(可以从仓库的clone or download那看到,比如我的一个仓库https://github.com/iunique/IdeaProject.git)
② 查看远程地址的详细信息
git remote -v
③ 查看当前别名所对应的远程仓库地址
git remote show origin
④ 从远程仓库获取代码(拉取所有版本到本地)
git clone origin
注意: 加入到已有项目的开发中,需要先拉取所有版本到本地再进行开发。
⑤ 从远程仓库拉取代码(拉取最新版本到本地,开发过程中使用)
git pull origin master
⑥向远程仓库推送代码
这个直接copy廖雪峰的讲得比较详细
推送分支
推送分支,就是把该分支上的所有本地提交推送到远程库。推送时,要指定本地分支,这样,Git就会把该分支推送到远程库对应的远程分支上:
$ git push origin master
如果要推送其他分支,比如dev
,就改成:
$ git push origin dev
但是,并不是一定要把本地分支往远程推送,那么,哪些分支需要推送,哪些不需要呢?
master
分支是主分支,因此要时刻与远程同步;dev
分支是开发分支,团队所有成员都需要在上面工作,所以也需要与远程同步;bug分支只用于在本地修复bug,就没必要推到远程了,除非老板要看看你每周到底修复了几个bug;
feature分支是否推到远程,取决于你是否和你的小伙伴合作在上面开发。
总之,就是在Git中,分支完全可以在本地自己藏着玩,是否推送,视你的心情而定!
⑦ 删除当前别名所对应的远程仓库地址:git remote remove origin
有关team的操作可以看我转载的一篇文章+分支推送操作就可以完成:http://blog.csdn.net/qq_37497322/article/details/79315347