GIT之常用命令

xiaoxiao2025-04-22  20

写的不是很全 是我自己的随笔 别骂我 remote fetch pull push checkout stash merge rebase tag alias 提示 git status相当于是一个命令提示,如果不知道该做什么的话可以执行该命令,会有提示你应该做什么。 提交文件 这种方式更加快捷 $:git ac ‘add 3.txt’ $:git push origin master

remote命令:用来把本地项目推送到git上 使用场景: i、git clone @.com下载代码 ii、 在本地已经有一个项目但是git上没有,现在的需求是把这个项目push到git上。一个笨方法是:在git上建项目,把目录结构git clone到本地,把代码填充进去,然后push到git上。显然这个太麻烦了。那么简介的方式应该怎么做呢? 1、在工作目录创建一个项目 mkdir test 2、创建一个文件 touch test.txt 3、push到git (现在这个文件夹还不归git管理) 3.1、使得该文件纳入git管理 git init 当出现.git文件说明该文件已经被git管理起来了 3.2、先把这个文件放到本地工作空间 git ac ‘init’ 3.3、到git上New Project 注意 Project 的名字一定要和本地项目的名称相同 不要勾选README.md 3.4、在git上,把项目的SSH拷贝(点击"Clone or download"),用来建立本地与git的连接 3.5、git remote add origin git@git.oschina.net:***/test.git 3.6、因为我们没有在test文件夹创建README.md所以我们需要执行 git fetch 把git上项目的空间信息同步到本地,其实主要是README.md文件下载下来,这个命令不会更新我们本地的代码? 3.7、 把文件推送到git上: git push -u origin master

**<回滚>来看一个新的需求场景:**想把本地的文件进行版本回滚,并且使得远端也进行回滚。这个该怎么操作呢? $git log 我们会看到类似于这样的信息:

commit b89ec7064b9563fdf887e82d0024ad5d1d6dee8c (origin/master) Author: 笑笑候 <1888888888@163.com> Date: Fri Nov 2 21:21:22 2018 +0800 this is test15.txt

commit后面的就是版本相关的编码,好接下来继续操作。

$ git reset --hard b89ec7064b9563fdf887e82d0024ad5d1d6dee8c

后面这个编码就是版本编码,到此为止我们仅仅是把本地的文件进行了回滚。 那么怎么样使的服务器上的也跟着回滚呢?

$ git push -f origin master

那么checkout是怎么用的呢? 一、新建分支专业一点的叫切分支 二、撤销更改 一、切分支:

$ git checkout -b dev-11-12-test1

那么切回到master怎么办呢?

$ checkout master

那么我想切换到任意分支呢? 一样的

$ checkout dev-11-13-test2

注意:只有在新建的时候才在checkout 后面加上 -b 命令,在已有的分支间进行切换是不需要的。 二、撤销更改 注意: 如果是新增文件或者删除文件,checkout是撤销不来的,更改文件内容是可以的。 命令: $ git checkout . 注意最后面是有一个“.”符号的。 这个符号的意思是当前所有文件,亦然这条命令的意思是把当前所有文件都进行撤销。 那么只撤销某一个文件呢? 那就用文件名加后缀代替这个符号就好了

$ git checkout test.txt

stash命令 应用场景:对一个文件进行修改,并且没有add和commit;突然项目经理过来跟你说,老板小姨子的那个分支有个文件需要你去帮忙搞一下。(意思是说对文件进行了修改,但没有add和commit。)那么你改的致部分内容是没有进行持久化,很容易被丢掉的。但是如果我们进行add和commit的话会有这样两个烦恼— 1、日志混乱:每commit一次,在服务器上就会生成一条历史记录;导致我们不容易区分哪个才是我们真正想要提交的版本 2、我的操作是被中断的,意思就是说这不是我真正想要提交的,那么为什么要我提交呢?万一被老板娘看到会挨骂的。 所以应该有一个完美的解决方案的吧? 这个时候stash闪亮登场了 他的意思是。。。。。:(我这样解释吧) 告诉git先把我这一部分的修改内容做一个临时的持久化。忙完老板小姨子的事情以后再来完成剩余的部分,而后统一提交。

其实我不怎么建议使用stash。原因是:如果小姨子存心调戏我,一会儿她的斩男色唇膏要我帮忙找,一会儿她的桃红色唇膏要我帮忙看看是不是合适她。那我就需要频繁的stash,这时候我会处在一个癫狂的状态----不知道哪一次stash的代码才是我应该继续写的。 有一个stash的替换方案

$ git commit --amend

这个命令的意思是修正(不是口服液的修正,而是git的修正) merge命令

转载请注明原文地址: https://www.6miu.com/read-5028859.html

最新回复(0)