基本Linux命令和Git

17 阅读4分钟

基本Linux命令

1.cd:改变目录。

2.cd ..:回退到上一个目录,直接cd进入默认目录。

3.pwd:显示当期所在的目录路径。

4.ls(ll):都是列出当前目录中的所有文件,只不过ll列出的内容更为详细。

5.touch:在当前目录下新建一个文件。

6.rm:删除一个文件。

7.mkdir:新建一个目录,就是新建一个文件夹。

8.rm-r:删除一个文件夹。

9.mv:移动文件,mv index.html src index.html是我们要移动的文件,src是目标文件夹(必须在同一目录下)。

10.reset:重新初始化终端/清屏。

11.clear:清屏。

12.history:查看命令历史。

13.help:帮助。

14.exit:退出。

15.#:表示注释。

Git

1.查看配置git config -l(git config --system --list查看系统配置、git config --global --list查看用户配置)

git config --global user.name "XXX"

git config --global user.email XXX

2.创建全新的仓库,需要用git管理的项目的根目录执行:

在当前目录新建一个git代码库git init

执行后可以看到,仅仅在项目目录里多出了一个.git目录,关于版本等的所有信息都在这个目录里面。

3.另一种方式是克隆远程目录,与、由于是将远程服务器上的仓库完全镜像一份至本地。

克隆一个项目和他的整个代码史(版本信息)git clone [url]

4.查看指定文件状态 git status [filename]

查看所有文件状态 git status

git add . 添加所有文件到暂存区

git commit -m "信息(比如这次提交的用处)" 提交暂存区中的内容到本地仓库 - m 提交信息

image.png

5.忽略文件 有时候我们不想把某些文件纳入版本控制中,比如数据库文件,临时文件,设计文件等,在主目录下建立".gitignore"文件,此文件有如下规则: <1>忽略文件中的空行或以井号(#)开始的行将会被忽略。

<2>可以使用Linux通配符。例如:星号(*)代表任意多个字符,问号(?)代表一个字符,方括号([abc])代表可选字符范围,大括号({string1,string2,...}) 代表可选的字符串等。

<3>如果名称的最前面有一个感叹号(!),表示例外规则,将不被忽略。

<4>如果名称的最前面是一个路径分隔符(/),表示要忽略的文件在此目录下,而子目录中的文件不忽略。

<5>如果名称的最后面是一个路径分隔符(/),表示要忽略的是此目录下该名称的子目录,而非文件(默认文件或目录都忽略)。

*.txt 忽略所有.txt结尾的文件,这样的话上传就不会被选中

!lib.txt 但是lib.txt除外

/temp 仅忽略项目根目录下的TODO文件,不包括其他目录temp

build/ 忽略build/目录下的所有文件

doc/*.txt 会忽略doc/notes.txt但不包括doc/server/arch.txt

6.克隆后验证,查看远程仓库关联 git remote -v

7.推送到GitHub远程仓库 git push

协作高频拉取远程最新代码 git pull(作用:如果远程仓库有更新(比如另一台电脑推了代码),本地执行这个命令,一键拉取并合并远程最新内容,保证本地代码和远程一致,避免后续 push 冲突。)

8.tips:GitHub上新建空仓库,建好后会进入仓库页面,复制页面上的HTTPS/SSH 地址(后续克隆用,推荐 SSH,免每次输密码),打开本地的终端 / CMD/Git Bash,先切到你想存放项目的文件夹(比如桌面),执行克隆命令,克隆出来的这个空文件夹,已经自带和远程仓库的关联,不用再执行git remote add origin,直接用就行!

9.Git分支中常用指令:

<1>列出所有本地分支git branch

<2>列出所有远程分支git branch -r

<3>新建一个分支,但依然停留在当前分支git branch [branch-name]

<4>新建一个分支,并切换到该分支git checkout -b [branch]

<5>合并指定分支到当前分支git merge [branch]

<6>删除分支git branch -d [branch-name]

<7>删除远程分支git push origin --delete [branch-name] git branch -dr [remote/branch]

10.tips:master主分支应该非常稳定,用来发布新版本,一般情况下不允许在上面工作,工作一般情况下在新建的dev分支上工作,工作完后,比如上要发布,或者说dev分支代码稳定后可以合并到主分支master上。