git 查看某个分支下的所有文件
git
ls
-tree -r master
git 撤销更改的文件
在没有git add之前:
1.撤销所有更改:git checkout .
2.撤销指定文件的更改:git checkout -- file.txt
git add之后:
git reset HEAD file.txt
git push 之后:
git reset --hard comittHash // git log --online可以查看hashid 返回到某个节点,不保留修改
git reset --soft comittHash // git log --online可以查看hashid 返回到某个节点,保留修改
git reflog 查看全部提交的记录,回滚来,还可以回滚去,反复回滚,无所谓
git 合并到dev
先切换到本地dev
在dev 执行pull操作
选中要合并的分支,找到merge into current, 点击merge
再push
git reset --hard xxx、git reset --soft 及git revert的区别
git reset --hard xxxx
彻底回退版本,连本地文件都会被回退到上个版本的内容
git reset --sort xxxx
只回退commit,如果你想再次提交直接git commit即可
Revert 撤销一个提交的同时也会重新创建一个提交。这是一个安全的方法,因为它不会重写提交历史。比如,下面的命令会找出倒数第二个提交,然后创建一个新的提交来撤销这些更改,然后把这个提交加入项目中。
相比git reset,它不会改变现在的提交历史。因此,git revert可以用在公共分支上,git reset应该用在私有分支上
你也可以把git revert当作撤销已经提交的更改,而git reset HEAD用来撤销没有提交的更改。
git删除编辑的内容(未commit的内容)
git status (查看编辑到文件)
git checkout 文件名 //将当前文件编辑到内容清空
git在dev上改了代码,没有commit,怎么将修改的代码切到另一个分支上
1、在dev上git stash
2、切换到另一个分支 git stash apply
git在dev上改了代码,并且已经push到了远程,怎么将代码切换到另一个分支上
1、 在dev分支上 git reset --soft HEAD^
2、在dev分支上 git stash
3、切换到要切换到分支上, git stash apply
4、之后就是commit pull push 三个步骤
工作中用到的工具总结
alpha系统 目前主要是用于查看任务列表
jenkins:目前主要是用于dev发版的
swagger:查看后端提供的接口
tapd: 主要是缺陷跟踪管理
zeplin:查看设计师提供的设计稿
Vue拖拽组件
https://www.npmjs.com/package/vue-slicksort?activeTab=readme
从master拉取一个新分支,并且push到远程的方法
1,从已有的分支创建新的分支(如从master分支),创建一个dev分支
git checkout -b dev
2,创建完可以查看一下,分支已经切换到dev
1 |
|
3,提交该分支到远程仓库
git push origin dev
4,测试从远程获取dev
git pull origin dev
或者:
如果用命令行,运行 git fetch,可以将远程分支信息获取到本地,再运行 git checkout -b local-branchname origin/remote_branchname 就可以将远程分支映射到本地命名为local-branchname 的一分支
5,我觉得现在重要的就是设置git push,pull默认的提交获取分支,这样就很方便的使用git push 提交信息或git pull获取信息
git branch --set-upstream-to=origin/dev
取消对master的跟踪
git branch --unset-upstream master
6,现在随便修改一下工程文件的内容,然后git commit ,git push,之后就可以直接提交到远程的dev分支中,而不会是master
Git如何stash部分文件
首先解释下git stash
的作用,git stash
是将本地没有commit的部份全部存储起来,这样方便你进行pull之类的操作,具体可以参考Git 工具 - 储藏与清理.
但是如果直接git stash的话,会将当前所有文件都存储起来,而我只想存储两个配置文件,其他的全部一起commit,这应该怎么办呢?这里需要用到一个git stash -p
的命令;它是一个交互式命令,我们可以一个文件一个文件的遍历,决定每个文件的操作方式.
root /u/c/s/cbs (master)# git stash -p
diff --git a/cmd/scripts/cbs.sh b/cmd/scripts/cbs.sh
old mode 100644
new mode 100755
Stash mode change [y,n,q,a,d,/,?]?
这里的[y,n,q,a,d,/,?]
分别代表的含义如下:
y - stage this hunk
n - do not stage this hunk
q - quit; do not stage this hunk nor any of the remaining ones
a - stage this hunk and all later hunks in the file
d - do not stage this hunk nor any of the later hunks in the file
g - select a hunk to go to
/ - search for a hunk matching the given regex
j - leave this hunk undecided, see next undecided hunk
J - leave this hunk undecided, see next hunk
k - leave this hunk undecided, see previous undecided hunk
K - leave this hunk undecided, see previous hunk
s - split the current hunk into smaller hunks
e - manually edit the current hunk
? - print help
所以,遇到我们需要stash的文件,我们就y,不需要stash需要commit的文件,我们就n,如果接下来没有需要stash的文件,则直接q退出就行.
将文件保存好后,我们就可以commit和push剩下的代码了.
git commit -m ""
git push origin master
然后我们将stash的文件恢复到本地,所有的操作就完成了.
git stash pop
git将多个提交记录合并成一个提交记录
git merge -- squash
git squash 的用法
-- 将多个commit 记录合并成一个,可用于
- 本地提交测试后合并至远程分支,只留下一个commit 记录
- develop分支merge至主线分支时,只有一个 commit 记录,代码整洁
-- 将develop分支代码合并至 master分支,只保留一个commit记录
1、 切换至 master分支
2、 git merge origin/develop --squash
3、 git commit -m "问题修改--测试ok"
git 修改远程仓库地址:
git remote set-url origin http://192.168.100.235:9797/john/git_test.git