提交(commit):把您作的修改,保存到本地仓库中
推送(push):把您本地仓库的代码推送至服务器(通常是远程服务器及gitlab或github)
git pull 从远程拉取最新版本 到本地 自动合并 merge
不带分支地址默认拉取所在分支的代码,正常:git pull origin master
git fetch 从远程获取最新版本 到本地 不会自动合并 merge 正常操做以下:
git fetch origin master
git log -p master ../origin/master
git merge orgin/master
git branch XXX 建立分支(代码会从master复制过来)
git checkout XXX 切换分支(代码也会切换成XXX的代码。
若是xxx分支代码有后续提交过和mster不同,这时就全不同了,
不会合并哦,别搞错,跟master代码不要紧)
git merge XXX 合并XXX分支(假如你如今master,这时master就合并了XXX分支
的代码,XXX分支代码仍是原来的代码)
1.主分支合并xxx分支
首先你必须在master分支上,若是你在ccc分支上,那就是ccc分支合并xxx分支的代码【gitlab上合并到主分支能够申请】,merge是合并了代码和提交路径等等git fetch origin xxx
git log -p master..origin/xxx
git merge origin/xxx
2.拉取的方法
git pull xxx 拉取xxx的代码过来,并合并
区别:git pull = git fetch + git merge
git fetch 或者 git fetch --all
git reset --hard XXX 例如:git reset --hard branch_y (而后git pull 能够更新线上代码,避免冲突)
1.假设有2个提交记录html
commit def5adef853da4cc05752bdb36577c127be71ba5linux
Author: 132982jianan <1072772483@qq.com>
Date: Thu Dec 28 16:01:36 2017 +0800git
add data to 1.txtgithub
commit f36801544670e00b2f59a28e19017d2786c4085e
Author: 132982jianan <1072772483@qq.com>
Date: Thu Dec 28 15:59:46 2017 +0800bash
init 1.txt
(END)服务器
2.如今回到最开始的那一个提交
git reset --hard f36801544670e00b2f59a28e19017d2786c4085egitlab
3.查看日志,就会发现只剩下一个提交了
git logpost
commit f36801544670e00b2f59a28e19017d2786c4085e
Author: 132982jianan <1072772483@qq.com>
Date: Thu Dec 28 15:59:46 2017 +0800fetch
init 1.txt
(END)url
4.这个时候,发现回退版本错了,那么就用git reflog查看提交记录
git reflog
f368015 HEAD@{0}: reset: moving to f36801544670e00b2f59a28e19017d2786c4085e
def5ade HEAD@{1}: reset: moving to def5ade
f368015 HEAD@{2}: reset: moving to f36801544670e00b2f59a28e19017d2786c4085e
def5ade HEAD@{3}: commit: add data to 1.txt
f368015 HEAD@{4}: commit (initial): init 1.txt
5.找出想要回退的版本,进行回退
恢复
git reset --hard def5ade
要对现有的某个项目开始用 Git 管理,只需到此项目所在的目录,执行:
$ git init
克隆仓库的命令格式为 git clone [url]
$ git clone git://github.com/schacon/grit.git
git branch -r | grep -v '\->' | while read remote; do git branch --track "${remote#origin/}" "$remote"; done git fetch --all git pull --all
window 右键git里添加忽略
linux :
vi .gitignore
写入你要忽略的文件或文件夹
在项目目录里(及git clone下来的项目的里面)
vi .git/config
而后添加
[credential]
helper = store
接着
git pull
输入用户名、密码自动保存