远离sourcetree之路的git命令行学习

来源:互联网 发布:自己设计房屋软件 编辑:程序博客网 时间:2024/06/03 03:35

惊讶的发现在新美大大家都走的是命令行的geek路线~所以放弃sourcetree开始入命令行的坑,留个念想以备不时回查。

 

1.切换分支

git checkout [name]

参数 -b 远程拉并直接创建切换了

2.查看分支

本地:git branch

远程:git branch -r

3.从远程克隆一个仓库

git clone [仓库地址]

4.从远程拉取代码到本地

git pull [remoteName] [localBranchName]

5.添加项目

git add

6.推送分支

git push origin [name]

7.删除分支

git branch -d [name] 

-d选项只能删除已经参与了合并的分支,对于未有合并的分支是无法删除的。如果想强制删除一个分支,可以使用-D选项

8.删除远程分支

git push origin --delete [name]

9.查看状态

git status

10.合并某分支到当前分支

git merge [name]

11.撤销做出的修改

git如何删除本地所有未提交的更改,包括修改的、新增的、删除的,还有一些编译生成的临时文件。就是回到上一版本的干净状态。我查了下有两个相关的命令:
        git clean -df
        git reset --hard
有些需要注意的问题是第一个命令只删除所有untracked的文件,如果文件已经被tracked, 修改过的文件不会被回退。而第二个命令只把tracked的文件revert到前一个版本,对于untracked的文件(比如编译的临时文件)都不会被删除。如果需要一步到位的话可以尝试把两个命令配合起来使用。git reset --hard 之后再 git clean -xdf 

12.暂存

git stash能够让你保存当前的工作目录,相当于为你当前分支拍一个快照。保存快照的意义在于你不commit也能保留你做出的修改,之后你就可以切换到不同的分支上去。在其他分支上或者回到你stash过的分支上都可以把你拍过快照的修改应用在其之上,感觉十分方便。举个例子我遇到的使用场景就是,我在一个seo分支上一不小心写了一些快递功能的代码,而这些代码应该在delivery分支上才对。于是乎,我stash了seo分支,切回到master分支(为了进一步在delivery分支上开发),新建delivery分支,这时候delivery分支和master分支一模一样,这时候把之前的暂存应用在delivery分支上,这样我写的关于快递功能的代码就漂亮的转移到了delivery分支。这时候回到seo分支,把关于快递的修改撤销掉,再把快照删掉,干干净净!

git stash 暂存当前工作目录

git stash list 查看你所有的暂存

暂存恢复

一是用git stash apply stash@{0} 恢复,但是恢复后,stash内容并不删除,你需要用git stash drop来删除;

另一种方式是用git stash pop,恢复的同时把stash内容也删了

原创粉丝点击