本文主要是介绍远离sourcetree之路的git命令行学习,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
惊讶的发现在新美大大家都走的是命令行的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内容也删了
13.合并主干
可能拉一个dev分支开发期间master上又有新的特性发布了,这个时候为了减少冲突,有的时候需要合并主干具体做法是
git checkout master -> git pull -> git checkout dev -> git merge master-> 有冲突解决冲突,没冲突万事大吉
这篇关于远离sourcetree之路的git命令行学习的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!