1. git命令行配置
1)安装完git客户端之后,在任意目录右键鼠标,选择Git GUI Here
2)在打开的窗口中依次选择Help->> Show SSH Key
2)如果弹出的窗口中中间部分没有key,可以点击 Generate Key 按钮,生成key,然后将生成的key拷贝一下,添加到gitlab中即可。
2. 命令使用
1)下载代码
在存放代码的目录中,右键鼠标,选择 Git Bash Here,然后会打开终端窗口
输入: git init 创建git配置目录
输入下面命令,初始化参数配置
git config --global user.nameYOUR_RES_NAME
git config --global user.emailYOUR_RES_EMAIL
git config --globalremote.origin.url
[email protected]:sre/mdwiki.git
如果已经配置过origin可以使用下面的命令增加一个新的远端地址的配置
git remote add [email protected]:sre/test.git
git pull origin master (git pulltestorigin master)
从origin仓库下载master分支代码(从testorigin仓库地址下载master分支代码)
2)分支
git branch dev
创建dev分支
git checkout dev
切换dev分支,上面两条命令可以合并为 git checkout -b dev (创建并切换到dev分支)
##修改代码
git add fileName
将修改的文件添加到index中,准备提交,git add . 可以用点符号,添加所有修改的文件
git commit -a -m "注释"
提交修改的内容,如果不写 -m参数,会打开一个vi的编辑界面,可以在里面输入注释,然后保存退出即可。
git push origin dev (gitpush testorigin dev)
将修改推送到origin服务器的dev分支,这个在使用的时候一定要看清推送的分支
3)撤销
如果需要撤销提交,或者撤销上面的add,
git log 查看最近的提交记录:
第一个圈出来的是我们最新的一次提交的hash值,也就是我们要撤销的提交
则在git reset中将要退回到的hash值即第二个值:
gitreset 02970783748218b12c108ea1069e68257b153bc9 这种方式是将commit和add都回退
git reset--soft 02970783748218b12c108ea1069e68257b153bc9 这种方式是回退commit
git reset --hard 02970783748218b12c108ea1069e68257b153bc9这种方式是整体的回退,包括本地的代码都会丢失
如果要撤销一个文件的修改使用:
git checkout -- QueryInsuranceTradeOrderTest22.java
4)merge代码
切换到目标分支,比如讲dev分支代码merge到sit中,需要先切换到sit分支
git checkout sit
然后输入命令
git merge dev
a. 如果没有单独在sit上有过代码修改的话,merge命令的结果会是合并提交。
b. 如果sit上也有过代码修改,且存在文件冲突,没有行冲突的话,会切换到vi视图下,需要输入一个注释,输入之后输入:wq!命令退出即可,如下:
c. 如果存在行冲突的话,会提示我们需要手动修改,如下:
需要手动修改冲突的文件,这个类似于svn,上面是当前分支的代码,下面是dev分支的代码
修改之后保存即可,如:
然后修改之后手动提交一下
git commit -a -m"devTestMethod方法merge"
上面三种情况之后,就是push到服务器上了
git push testorigin sit
5)stash如果我们在dev有代码改动,但是其他分支上有需要紧急处理的问题需要切换到其他分支,为了在切换到新的分支的时候,在dev修改的代码不会影响到新的分支,可以将stash将在dev分支的改动内容保存下来,等处理完其他分支的问题,回到dev的时候,可以还原之前的修改。
git stash: 备份当前的工作区的内容,从最近的一次提交中读取相关内容,让工作区保证和上次提交的内容一致。同时,将当前的工作区内容保存到Git栈中。
git stash pop: 从Git栈中读取最近一次保存的内容,恢复工作区的相关内容。由于可能存在多个Stash的内容,所以用栈来管理,pop会从最近的一个stash中读取内容并恢复。
git stash list: 显示Git栈内的所有备份,可以利用这个列表来决定从那个地方恢复。
git stash clear: 清空Git栈。此时使用gitg等图形化工具会发现,原来stash的哪些节点都消失了。
最后:上面的命令只是简单的一些用法,里面还有很多命令功能很强大的,具体的自行百度吧~~