git&Linux命令行基础&github远程仓库
2018-01-23 02:10
302 查看
参考资料:
廖雪峰git教程
常用 Git 命令清单
Linux命令对应的英文全称
每天一个linux命令
查询网站:explainshell,查命令行英文全称,便于记忆和了解作用
pwd
英文全名:Print Working Directory
查看当前目录下文件
ls (不包括隐藏文件)
英文全名:list
ls -a (包括隐藏文件)
ls -al (包括隐藏文件的详细信息)
切换目录
cd
英文全名:Change Directory
例:
cd /c/project
cd code
cd ../css
cd ~/Desktop
创建文件夹
mkdir
英文全名:Mike Directory
创建文件
touch
删除文件
rm (删除文件)
英文全名:ReMove
rm -rf (删除文件夹)
重命名文件
mv readme.md(旧) README.md(新)
英文全名:MoVe
显示整个文件
cat
列表内容
–global 表示你这台机器上所有的Git仓库都会使用这个配置
初始化仓库
$ git init
把文件添加到仓库
$ git add readme.txt
git add -A (提交所有变化)
git add -u (提交被修改(modified)和被删除(deleted)文件,不包括新文件(new))
git add . (提交新文件(new)和被修改(modified)文件,不包括被删除(deleted)文件)
把文件提交到仓库
$ git commit -m “wrote a readme file”
查看仓库当前的状态
$ git status
git status -sb (简明扼要版)
查看修改内容
git diff readme.txt
git diff HEAD - - readme.txt(查看工作区和版本库里面最新版本的区别)
查看提交日志
$ git log
- -pretty=oneline参数,简明版
回退版本
$ git reset - -hard HEAD^
用HEAD表示当前版本,上一个版本就是HEAD^,上上一个版本就是HEAD^^,当然往上100个版本写100个^比较容易数不过来,所以写成HEAD~100。
版本号
$ git reset - -hard 版本号
commit id,找到对应的版本号可回到对应的版本
查看命令历史,找到所需版本号
$ git reflog
撤销修改,复原文件
git checkout - - readme.txt
让这个文件回到最近一次git add或git commit时的状态,既可丢弃工作区的修改,也可复原误删的文件
git reset HEAD readme.txt
把暂存区的修改回退到工作区
从版本库中删除文件
git rm test.txt
git commit -m “remove test.txt”
需要注意的事项
1.git无法跟踪图片、视频这些二进制文件
2.千万不要使用Windows自带的记事本编辑任何文本文件。原因是Microsoft开发记事本的团队使用了一个非常弱智的行为来保存UTF-8编码的文件,他们自作聪明地在每个文件开头添加了0xefbbbf(十六进制)的字符,你会遇到很多不可思议的问题,比如,网页第一行可能会显示一个“?”
$ ssh-keygen -t rsa -C “youremail@example.com”
一路回车,使用默认值即可。如果一切顺利的话,可以在用户主目录里找到.ssh目录,里面有id_rsa和id_rsa.pub两个文件,这两个就是SSH Key的秘钥对,id_rsa是私钥,不能泄露出去,id_rsa.pub是公钥,可以放心地告诉任何人。
登陆GitHub,打开“Account settings”,“SSH Keys”页面,添加公钥。
关联github远程仓库
$ git remote add origin git@github.com:username/learngit.git
username为GitHub账户名
这里把远程库的地址添加个标签叫origin
也可以添加别的名字作为标签,例如:
git remote add gitlab git@gitlab.com:abc/blog.git
推送的时候推送到对应标签上:
git push gitlab master
把本地库的所有内容推送到远程库上
从远程库克隆
$ git clone 地址
创建与合并分支(以dev为例)
解决分支合并冲突
当Git无法自动合并分支时,就必须首先解决冲突。解决冲突后,再提交,合并完成。
用git log –graph命令可以看到分支合并图。
解决bug时保存当前工作区
多人协作有冲突时
多人协作的工作模式通常是这样:
首先,可以试图用git push origin branch-name推送自己的修改;
如果推送失败,则因为远程分支比你的本地更新,需要先用git pull试图合并;
如果合并有冲突,则解决冲突,并在本地提交;
没有冲突或者解决掉冲突后,再用git push origin branch-name推送就能成功!
如果git pull提示“no tracking information”,则说明本地分支和远程分支的链接关系没有创建,用命令git
branch –set-upstream branch-name origin/branch-name。
版本号(打标签)
自定义Git
附:
常见的自带命令
廖雪峰git教程
常用 Git 命令清单
Linux命令对应的英文全称
每天一个linux命令
查询网站:explainshell,查命令行英文全称,便于记忆和了解作用
Linux命令行通用操作
查看当前路径pwd
英文全名:Print Working Directory
查看当前目录下文件
ls (不包括隐藏文件)
英文全名:list
ls -a (包括隐藏文件)
ls -al (包括隐藏文件的详细信息)
切换目录
cd
英文全名:Change Directory
例:
cd /c/project
cd code
cd ../css
cd ~/Desktop
创建文件夹
mkdir
英文全名:Mike Directory
创建文件
touch
删除文件
rm (删除文件)
英文全名:ReMove
rm -rf (删除文件夹)
重命名文件
mv readme.md(旧) README.md(新)
英文全名:MoVe
显示整个文件
cat
git相关操作
设置名字和Email地址$ git config --global user.name "Your Name" $ git config --global user.email "email@example.com"
列表内容
$ git config --global push.default simple # 推送本地当前分支(必要的设置) $ git config --global core.quotepath false #防止文件名变成数字 $ git config --global core.editor "vim" # 使用vim编辑提交信息
–global 表示你这台机器上所有的Git仓库都会使用这个配置
初始化仓库
$ git init
把文件添加到仓库
$ git add readme.txt
git add -A (提交所有变化)
git add -u (提交被修改(modified)和被删除(deleted)文件,不包括新文件(new))
git add . (提交新文件(new)和被修改(modified)文件,不包括被删除(deleted)文件)
把文件提交到仓库
$ git commit -m “wrote a readme file”
查看仓库当前的状态
$ git status
git status -sb (简明扼要版)
查看修改内容
git diff readme.txt
git diff HEAD - - readme.txt(查看工作区和版本库里面最新版本的区别)
查看提交日志
$ git log
- -pretty=oneline参数,简明版
回退版本
$ git reset - -hard HEAD^
用HEAD表示当前版本,上一个版本就是HEAD^,上上一个版本就是HEAD^^,当然往上100个版本写100个^比较容易数不过来,所以写成HEAD~100。
版本号
$ git reset - -hard 版本号
commit id,找到对应的版本号可回到对应的版本
查看命令历史,找到所需版本号
$ git reflog
撤销修改,复原文件
git checkout - - readme.txt
让这个文件回到最近一次git add或git commit时的状态,既可丢弃工作区的修改,也可复原误删的文件
git reset HEAD readme.txt
把暂存区的修改回退到工作区
从版本库中删除文件
git rm test.txt
git commit -m “remove test.txt”
需要注意的事项
1.git无法跟踪图片、视频这些二进制文件
2.千万不要使用Windows自带的记事本编辑任何文本文件。原因是Microsoft开发记事本的团队使用了一个非常弱智的行为来保存UTF-8编码的文件,他们自作聪明地在每个文件开头添加了0xefbbbf(十六进制)的字符,你会遇到很多不可思议的问题,比如,网页第一行可能会显示一个“?”
github远程仓库
创建SSH Key$ ssh-keygen -t rsa -C “youremail@example.com”
一路回车,使用默认值即可。如果一切顺利的话,可以在用户主目录里找到.ssh目录,里面有id_rsa和id_rsa.pub两个文件,这两个就是SSH Key的秘钥对,id_rsa是私钥,不能泄露出去,id_rsa.pub是公钥,可以放心地告诉任何人。
登陆GitHub,打开“Account settings”,“SSH Keys”页面,添加公钥。
关联github远程仓库
$ git remote add origin git@github.com:username/learngit.git
username为GitHub账户名
这里把远程库的地址添加个标签叫origin
也可以添加别的名字作为标签,例如:
git remote add gitlab git@gitlab.com:abc/blog.git
推送的时候推送到对应标签上:
git push gitlab master
$ git remote (查看远程库的信息) $ git remote -v(显示更详细的信息) $ git remote remove gitlab(删除远程库gitlab 标签) $ git remote set-url origin git@github.com:jirengu/blog3.git(修改origin标签对应的地址) $ git remote rename gitlab coding(把 gitlab 标签改名为coding)
把本地库的所有内容推送到远程库上
$ git push -u origin master 第一次推送master分支时,加上了-u参数,把本地的master分支和远程的master分支关联起来 从现在起,只要本地作了提交,就可以通过命令: $ git push origin master 把本地master分支的最新修改推送至GitHub
从远程库克隆
$ git clone 地址
创建与合并分支(以dev为例)
$ git branch dev (创建分支) $ git checkout dev (切换到分支) $ git checkout -b dev(创建并切换) $ git branch (查看当前分支) 分支前面会标一个*号 $ git checkout master(切换回master分支) $ git merge dev (合并指定分支到当前分支) $ git merge --no-ff - 4000 m "merge with no-ff" dev(不用fast forward模式,保留分支历史信息) $ git branch -d dev(删除分支)
解决分支合并冲突
当Git无法自动合并分支时,就必须首先解决冲突。解决冲突后,再提交,合并完成。
用git log –graph命令可以看到分支合并图。
解决bug时保存当前工作区
$ git stash(储藏当前工作区) $ git stash list(查看储藏的工作区) $ git stash apply (恢复储藏的工作区到当前的工作区) $ git stash drop (删除储藏的工作区) $ git stash pop (恢复并删除) $ git stash apply stash@{0}(多次stash后恢复指定的工作区)
多人协作有冲突时
$ git pull 把最新的提交从远程仓库抓下来,然后,在本地合并,解决冲突,再推送
多人协作的工作模式通常是这样:
首先,可以试图用git push origin branch-name推送自己的修改;
如果推送失败,则因为远程分支比你的本地更新,需要先用git pull试图合并;
如果合并有冲突,则解决冲突,并在本地提交;
没有冲突或者解决掉冲突后,再用git push origin branch-name推送就能成功!
如果git pull提示“no tracking information”,则说明本地分支和远程分支的链接关系没有创建,用命令git
branch –set-upstream branch-name origin/branch-name。
版本号(打标签)
$ git tag v1.0 (给当前分支打上标签v1.0) $ git tag (查看所有标签) $ git tag v0.9 6224937(给指定的commit id打上标签) $ git show v0.9 (查看标签信息) $ git tag -a v0.1 -m "version 0.1 released" 3628164 (用-a指定标签名,-m指定说明文字) $ git tag -s <tagname> -m "blablabla..." (可以用PGP签名标签) $ git tag -d v0.1 (删除标签) $ git push origin v1.0 (推送标签到远程) $ git push origin --tags (一次性推送全部尚未推送到远程的本地标签) $ git push origin :refs/tags/v0.9 (删除远程库里的标签)
自定义Git
附:
常见的自带命令
操作 | 命令 |
---|---|
进入目录 | cd |
显示当前目录 | pwd |
创建目录 | mkdir 目录名 |
创建目录 | mkdir -p 目录路径 |
我是谁 | whoami |
– | – |
查看路径 | ls 路径 |
查看路径 | ls -a 路径 |
查看路径 | ls -l 路径 |
查看路径 | ls -al 路径 |
– | – |
创建文件 | echo ‘1’ > 文件路径 |
强制创建文件 | echo ‘1’ >! 文件路径 |
追加文件内容 | echo ‘1’ >> 文件路径 |
创建文件 | touch 文件名 |
改变文件更新时间 | touch 文件名 |
– | – |
复制文件 | cp 源路径 目标路径 |
复制目录 | cp -r 源路径 目标路径 |
– | – |
移动节点 | mv 源路径 目标路径 |
– | – |
删除文件 | rm 文件路径 |
强制删除文件 | rm -f 文件路径 |
删除目录 | rm -r 目录路径 |
强制删除目录 | rm -rf 目录路径 |
– | – |
查看目录结构 | tree |
建立软链接 | ln -s 真实文件 链接 |
– | – |
下载文件 | curl -L https://www.baidu.com > baidu.html |
拷贝网页 | wget -p -H -e robots=off https://www.baidu.com |
磁盘占用 | df -kh |
当前目录大小 | du -sh . |
各文件大小 | du -h |
相关文章推荐
- Git 基础(七)—— 远程仓库(GitHub)
- Android基础新手教程——1.5.2 Git之使用GitHub搭建远程仓库
- Android基础入门教程——1.5.2 Git之使用GitHub搭建远程仓库
- 【git】:将本地代码提交到github远程仓库的简单命令行
- 把本地文件上传到远程仓库:git和github,前提是上传的不能是空文件夹
- Git 基础 - 远程仓库的使用
- Git——新手入门与上传项目到远程仓库GitHub
- git 远程仓库-github
- Mac中Git的简单实用(3) --- Github远程仓库
- Git && GitHub 之远程协作
- Git本地仓库与Github远程仓库关联
- 在本地用命令行创建一个git仓库,并推送到远程
- 浅入Git学习⑥--创建GitHub远程仓库、克隆远程库
- 如何通过git将项目推送到github远程仓库
- Git本地仓库push至GitHub远程仓库每次输入账户密码问题解决
- 1.3 git和github -3 同步到远程仓库
- git从github远程仓库克隆到本地
- Git新手入门与上传项目到远程仓库GitHub
- Linux下安装操作Git远程仓库与本地仓库同步的教程
- Git Book读书笔记--git远程仓库&&打标签&&别名