Git全局设置[不加--global则为当前项目配置]:
git config --global user.email ‘[email protected]’
git config --global user.name ‘Test’
查看时显示中文:
git config --global core.quotepath false
如果git pull origin如果提示覆盖,git stash查看 ,将冲突的文件移动到其他地方暂存,再git pull origin,更新成功后,删除暂存的文件
1. 创建git仓库(上传本地文件到空项目):
a) 进入项目目录 git init
b) git add . #添加需要上传的文件(注意最后有个‘.’表示所有文件)
c) git commit -m ‘提交说明’
d) git remote add origin [email protected]:y8zh/obj.git
e) git push -u origin master
2. 远程项目克隆到非空目录:#######
a) 进入非空目录 git init
b) git clone --no-checkout (从git网站复制来的项目目录) tmp #将.git目录放至tmp下且不下载项目文件
c) mv tmp/.git . #将tmp/.git目录移至当前目录(注意最后有个’.’)
d) rmdir tmp #删除tmp目录
e) git reset --hard HEAD #下载项目文件
3. 新建本地分支:
a) git branch 本地分支名_lb(自定义)
4. 将本地分支推送到远程(即创建远程分支):
a) git push origin 本地分支名 origin/远程分支名(自定义)
5. 拉取远程分支(远程分支已存在):########
a) checkout (推荐)
i、 git branch -a (查看分支,master //绿色为本地分支 红色为远程分支)
i. git fetch #更新(获取新建的远程分支)
ii. git checkout -b 本地分支名_lb origin/远程分支名_rb #在本地新建分支lb并自动切换到该分支*本地分支将自动与远程分支建立映射关系(git checkout -b 本地分支 origin/远程分支(和本地分支一样))
iii、 git branch -a //查看分支远程分支变为绿色就好了
b) fetch
i. git fetch origin 远程分支名_rb:本地分支名_lb #在本地新建分支lb,但不会自动切换分支 * 不与远程分支建立映射关系
ii. git branch --set-upstream 本地分支名_lborigin/远程分支名_rb #建立映射关系
c)
6. 删除远程分支:
a) git push origin :远程分支名_rb
7. 代码提交:
a) git pull origin 分支名 #提交前先更新本地代码
b) git status #查看修改过的文件
c) git add 文件名 #添加需要提交的文件(‘.’表示所有文件)
提交后,如果没有完成提交,
git reset HEAD :回退文件,将文件从暂存区回退到工作区 //也可以使用 git reset filename
然后再git status 再提交git add
d) git commit -m ‘提交说明’
e) git push origin 提交成功
查看是否提交成功,
登录后,点击 项目查看
切换分支:
git branch -a //先查看分支
git checkout 分支名(要切换的分支)
#######
git branch -D 要删除的分支名
Git鼓励大量使用分支:
查看分支:git branch
创建分支:git branch
切换分支:git checkout
创建+切换分支:git checkout -b
合并某分支到当前分支:git merge
删除分支:git branch -d
git merge 用来做分支合并,将其他分支中的内容合并到当前分支中。比如分支结构如下:
master
/
C0 ---- C1 ---- C2 ---- C4
\
C3 ---- C5
\
issueFix
当前分支是master
$ git checkout master
把issueFix中的内容Merge进来:
$ git merge issueFix
如果没有冲突的话,merge完成。有冲突的话,git会提示那个文件中有冲突,比如有如下冲突:
<<<<<<< HEAD:test.c
printf (“test1″);
=======
printf (“test2″);
>>>>>>> issueFix:test.c
可以看到 ======= 隔开的上半部分,是 HEAD(即 master 分支,在运行 merge 命令时检出的分支)中的内容,下半部分是在 issueFix 分支中的内容。解决冲突的办法无非是二者选其一或者由你亲自整合到一起,,,之后
git status
git add .
git add '要提交的文件'
git commit -m ' 注释'
git push origin
恢复修改并没有提交的文件
git checkout . //恢复所有修改且没有提交的文件