赞
踩
1、工作区:就是你的本地文件夹,写的代码文件存在这个文件夹中
2、暂存区:就是同通过git add
将本地写好的文件添加到暂存区
3、主分支:git commit
命令将暂存区的 文件提交到主分支上
git add <file-name>
git commit -m "add my code to new branchB" #添加描述 -mark
已经在本地创建了一个Git仓库后,又想在GitHub创建一个Git仓库,并且让这两个仓库进行远程同步,这样,GitHub上的仓库既可以作为备份,又可以让其他人通过该仓库来协作,真是一举多得
git remote add origin git@github.com:michaelliao/learngit.git #添加远程仓库
git push -u origin master #初始化推送
git push origin master #提交主分支
一般来说通过创建的分支,进行文件的添加和提交之后不会进行push,而是将分支进行合并之后,是然后删除分支,最后push master分支到github中
git branch #查看分支
git checkout -b <branchname> #创建分支并切换到分支目录 -build
git add <file-name> #以分支的身份提交文件到暂存区
git push origin <branch name> #提交分支
git checkout -d <branchname> #删除分支 -delete
git branch -d <branchname> #删除分支 -delete
git checkout master #切换回到主分支
git merge <branchname> #合并分支到主分支
Git鼓励大量使用分支: | 指令 |
---|---|
查看分支: | git branch |
创建分支: | git branch |
切换分支: | git checkout 或者git switch |
创建+切换分支: | git checkout -b 或者git switch -c |
合并某分支到当前分支: | git merge |
删除分支: | git branch -d |
git reset HEAD~1
漂亮! Git 把 master 分支移回到 C1;现在我们的本地代码库根本就不知道有 C2 这个提交了。
(译者注:在reset后, C2 所做的变更还在,但是处于未加入暂存区状态。)
git revert HEAD
奇怪!在我们要撤销的提交记录后面居然多了一个新提交!这是因为新提交记录 C2’ 引入了更改 —— 这些更改刚好是用来撤销 C2 这个提交的。也就是说 C2’ 的状态与 C1 是相同的。
revert 之后就可以把你的更改推送到远程仓库与别人分享啦。
在进行代码review时,会导致代码中间提交了很多commit,在进行merge后,以后查看代码的提交记录的时候会有很多commit记录,很难查看当时更改代码是在哪一次的commit修改的,所以需要对提交的多个commit进行合并,解决查看历史的提交记录多切杂的问题
git rebase -i HEAD~12
将最近提交了12个版本进行合并,合并到第一次提交commit的代码上面
第一行(即第一次commit版本)选择pickup
,其他行选择f
即可,就可以将最新的版本合并到第一次的版本上面。(合并的目的就是将最新的代码合并到第一次commit的版本上面去,所以保留的是第一个版本的代码==)
在进行合并的时候,会说confict冲突,此时保存你觉得对的代码,将HEAD
和=====
这种标志删除即可。
删除完
git add ***
git rebase --continue
不想renabase的时候直接abort就回到了rebase之前的版本了
git rebase --abort #终止rebase,回到原来最新的commit
如果当前分支与master分支相差较大,需要跟master进行对齐
git checkout master
git pull
git checkout branch
git rebase master
# fix conflict if has conflict
# git add conflict_fixed file
# git rebase --continue
git push origin branch -f
场景:你对代码进行了优化,提交了一版本代码,但是在进行review时,大家认为你虽然优化了代码运行速度,但是业务场景提升效果不明显, 没有必要进。所以你需要将代码回退到原来的版本进行继续更新
git log #查看你最近提交的版本,比如当前版本1111,上个版本2222
git reset 2222 #回退到2222版本
git status #查看当前1111版本的更改
git checkout filename #将该文件更改的部分进行复原
假设在master上新开了一个分支名字叫做test(git checkout -b test)
此时你想在家里继续开发这个分支,就需要将这个分支拉到家里的电脑
git clone -b test http://asdf.git
git config --global user.name "dc"
git config --global user.email "dc@gmail.com"
git config -l
git config --global --replace-all user.name #修改配置
1 局部仓库变量
添加
git config remote.origin.url "https://..."
2 全局变量(不建议设置)
添加
git config --global remote.origin.url "https://..."
3.删除
git remote rm origin
git config --global --unset remote.origin.url
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。