Git配置手册(命令行)
- 格式:docx
- 大小:2.01 MB
- 文档页数:7
Git命令及在idea上配置Git0 前⾔1. 软件要求⽤户需要⾃⾏安装,git,tortoise(⼩乌龟),idea。
这⾥就不多介绍了。
2. 环境介绍安装好git之后点击⿏标右键会出现Git GUI和Git Bash,如下图所⽰备注:GUI为⽤户界⾯模式Bash为命令⾏模式(本⽂主要使⽤)1. 第⼀次使⽤,先配置⽤户名信息1. ⾸先打开Git Bash,在命令⾏输⼊下列命令,配置⽤户名信息git config --global "Your Name"//⽤户名git config --global user.email "email@"//邮箱,建议和Gitee上的邮箱保持⼀致2. ⽣成ssh公钥,在以后提交到码云时,不需要登陆本地⽤户#输⼊如下命令,三次回城即可⽣成ssh keyssh-keygen -t rsa -C "email@"#建议使⽤Gitee注册邮箱3. ssh密钥ssh密钥默认⽣成路径在系统盘⽤户⽂件夹下⾯,其中id_rsa是私钥,id_rsa.pub是公钥,本⽂会在后⾯讲解Gitee与ssh配置。
2. git操作及常⽤命令1. GIT区域介绍git有三个区域⼯作区(working directory):项⽬的根⽬录,不包括git在内的其他⽂件暂存区(stage area):是⼀个看不见的区域,git add命令就是将⽂件添加到该区域,git status命令可以查看当前暂存区的⽂件本地仓库(repository):指在⼯作⽬录下创建的⼀个.git⽬录,这是⼀个隐藏⽬录,git commit -m“备注” 可以将暂存区的代码提交的本地仓库,git push -u origin master 就是将本地仓库的代码推送到远程仓库2. git⽂件的三种状态已修改(modified),存在于⼯作区,⽂件修改后的状态已暂存(staged),存在于暂存区,采⽤ git add 命令后的状态已提交(committed),存在于本地仓库,采⽤ git commit 命令后的状态3. git基本操作创建⼀个⽬录:mkdir ⽂件名初始化仓库:git init4. 常⽤命令常⽤命令命令备注git status查看仓库的改变状况,会有相关提⽰操作git add .直接添加所有改动的⽂件git commit -m "note"确认⽣成本地版本,note是备注git remote add origin 仓库地址将本地仓库与Gitee远程仓库连接git push将改动上传到github或者gitee,若没有指定分⾄,则需要使⽤git push origin mastergit log查看版本更新情况git reset -hard x回退到某个本地版本,x为git log中出现的hash值前七位git clean -xf清除所有未提交的⽂件3. 码云+git配置仓库配置仓库为什么要这么做?若需要将本地仓库的代码同步更新到远程托管服务器,则需要与远程服务器建⽴通信授权连接,最常见的就是利⽤上述所⽣成的sshkey进⾏配置。
GIT基础篇,配置账号及命令查看以及帮助命令
提交⽤户名和邮件地址
1. 1
安装完Git⾸先要设置你的⽤户名称与邮件地址。
每⼀个Git的提交都会使⽤这些信息,并且它会写⼊到你的每⼀次提交中。
2. 2
git config --global "你的⽤户名"
git config --global user.email 你的邮箱
END
配置信息查看
1. 1
查看所有配置信息
git config --list
2. 2
查看单项配置信息
git config <key>
3. 3
⽰例:git config
END
GIT帮助命令
1. 1
查看所有命令
git help
git --help
2. 2
查看单个命令帮助
git help <verb>
git <verb> --help
3. 3
⽰例1.查看所有命令git help
4. 4
⽰例2.查看config命令的说明
git help config
Windows系统会弹出⼀个⽹页来说明
5. 5
⽰例3.查看clone命令的说明
git clone --help
Windows系统会弹出⼀个⽹页来说明。
Git系列之三:Windows 下Git配置与使用指南一、安装默认安装:msysGit二、配置1、C:\Program Files\Git\etc\gitconfig添加:【注意!】请将第二行最后的“your-id” 修改成你在服务器上的实际id,默认是姓名拼音。
[alias] go = "! bash -c \"git pull &&gitadd .; if [ \\\"$*\\\" == \\\"\\\" ]; then git commit -a; else git commit -am \\\"$*\\\"; fi; git push origin master:your-id;\"" [core] autocrlf = false [gui] encoding = utf-8 [i18n] commitencoding = GB2312 [user] email = xxx@ name = 某某某2、C:\Program Files\Git\etc\inputrc修改两行为:set output-meta on set convert-meta off3、C:\Program Files\Git\etc\git-completion.bash末尾增加:aliasls='ls --show-control-chars --color=auto'4、C:\Program Files\Git\etc\profile 末尾增加:export LESSCHARSET=utf-8【TIP】以上文件最好使用支持unix格式的编辑器修改(如Notepad++、NetBeans),最次也用“写字板”而非“记事本”。
【TIP】若想了解为什么这样设置,请参见:Windows 下Git 客户端的选择,及msysGit 各种中文问题的解决三、生成密钥安装完后,需要生成一对Key(这里指密钥),然后才能通过加密的方式和服务器的代码库取得同步。
详解git基本操作和指令⽬录⼀、基本操作命令⼆、.git ⽬录三、版本库的三个区域⼀、常⽤命令⼆、历史版本回滚⼀、仓库中没有提交该⽂件⼆、仓库中已经提交该⽂件基本操作⼀、基本操作命令1. 创建进⼊空⽂件夹2. 右键 -> 点击 Git Bash Here 启动命令⾏(MAC 在当前⽂件夹打开终端)3. git init仓库初始化4. 创建⼀个初始化⽂件 index.html5. git add index.html将⽂件加⼊到暂存区6. git commit -m '注释'提交到仓库 m 是 message 单词的缩写⼆、.git ⽬录hooks ⽬录包含客户端或服务端的钩⼦脚本,在特定操作下⾃动执⾏。
info 包含⼀个全局性排除⽂件,可以配置⽂件忽略logs 保存⽇志信息objects ⽬录存储所有数据内容,本地的版本库存放位置refs ⽬录存储指向数据的提交对象的指针(分⽀)config ⽂件包含项⽬特有的配置选项description ⽤来显⽰对仓库的描述信息HEAD ⽂件指⽰⽬前被检出的分⽀index 暂存区数据切记:不要⼿动去修改 .git ⽂件夹中的内容*三、版本库的三个区域⼯作区(代码编辑区):代表本地开发代码的地⽅暂存区(修改待提交区):代表本地仓库暂时保管代码的地址仓库区(代码保存区):代表代码进⼊本地版本控制常⽤命令⼀、常⽤命令git status版本状态查看红⾊:说明⽂件位于⼯作区绿⾊:说明⽂件位于暂存区没有体现,说明位于版本区git add -A添加所有新⽂件到暂存区(或者git add .git add *)使⽤git restore可以丢弃⼯作区的改动git commit -m '注释 '提交修改并注释使⽤git restore --staged <⽂件>可以取消暂存git diff查看⼯作区与暂存区的差异(不显⽰删除或新增⽂件)显⽰做了哪些修改//解读结果lipeihuadeMacBook-Pro% git diff//进⾏⽐较的是,index.html(即变动前)index.html(即变动后)。
git命令行使用方法Git是一个流行的版本控制系统,它可以让开发者轻松地跟踪代码更改、合并代码以及管理代码库。
在本文中,我们将介绍如何使用Git命令行来完成常见的Git任务。
1. 安装Git首先,您需要在您的计算机上安装Git。
您可以从Git官方网站上下载适合您操作系统的安装包,并按照安装向导进行安装。
2. 创建一个本地仓库要使用Git,您需要在您的项目中创建一个本地仓库。
您可以在项目目录中打开终端,并使用以下命令来创建一个空的Git仓库。
```git init```3. 添加文件到本地仓库一旦您创建了Git仓库,您可以使用以下命令来将文件添加到仓库中。
```git add <file>```例如,要将名为'index.html'的文件添加到Git仓库中,您可以使用以下命令。
```git add index.html```4. 提交更改一旦您将文件添加到Git仓库中,您需要将更改提交到仓库中。
您可以使用以下命令来提交更改。
```git commit -m 'commit message'```例如,要提交一个带有'Initial commit'消息的更改,您可以使用以下命令。
```git commit -m 'Initial commit'```5. 查看更改历史您可以使用以下命令来查看您的Git仓库中的更改历史。
```git log```这将显示每个提交的SHA-1哈希值、作者、时间戳以及提交消息。
6. 创建分支您可以使用以下命令来创建一个新的分支。
```git branch <branch-name>```例如,要创建名为'feature-branch'的新分支,您可以使用以下命令。
```git branch feature-branch```7. 切换分支要切换到不同的分支,您可以使用以下命令。
git的基本命令
Git 基本命令:
git init –初始化一个Git仓库
git config –设置Git的配置
git add –将文件添加到版本库
git commit –提交文件到版本库
git status –检查Git的当前状态
git log –显示有关提交的日志信息
git diff –查看提交之间的不同
git show –显示提交的详细信息
git remote –管理远程版本库
git checkout –切换分支或者回退版本
git reset –重置版本库到某个commit
git tag –加标签某个提交
git fetch –从远程仓库获取最新版本
git pull –从远程仓库获取最新版本并自动合并到当前git merge –合并分支到当前分支
git rebase –重新应用已存在的提交
git cherry-pick –选择提交放入当前分支
git blame –检查某行代码是谁提交的
git stash –把当前未完成的工作暂存起来
git revert –恢复版本库到某个commit
git clean - 移除未跟踪的文件
git archive –创建zip/tar文件。
GIT使用技巧1、版本管理历史集中式版本控制、分布式版本控制CVS -> SVN -> GITGIT由来,出于人道主义精神,免费使用BitMover公司的BitKeeper,Samba的Andrew反向工程(试图破解BitKerper协议),收回免费使用权限,不得不自己开发,2周之后git诞生,2008年github网站上线2、安装配置git config -l 显示所有配置信息git config --global -l 显示所有全局配置信息git config --global '用户名'git config --global user.email '邮箱'git config --global push.default simple/matchingsimple:只推送当前分支matching:推送所有同名分支3、基本操作git init 初始化版本库git add test.txt 添加test.txt文件git add . 添加所有文件git commit -m '信息' 提交修改git commit -a -m '信息' 提交所有修改,相当于默认执行了(git add .) git commit -a --amend 修改上次提交(本地使用,已经推送到仓库的提交不要使用)git status [-s] 查看当前[简短]状态git log [--oneline] 查看提交日志[单行显示]git log [--graph] 查看提交日志[显示提交树]git rm filename 删除工作区文件,并将这次删除放入暂存区git rm --cached file 停止追踪文件,但文件会保留在工作区git mv old new 改文件名,并将这次修改放入暂存区4、文件忽略.gitignore文件语法规则:空行或#开头的行(注释行)将会被忽略test.txt 指定test.txt文件abc/ 忽略abc文件夹/abc 忽略当前目录下的abc,不包括其他目录下的abc*.apk 忽略后缀为apk的文件!a.apk 除了a.apk文件*.[oa] 或略所有.o和.a后缀的文件abc/*.log 忽略abc目录下的所有log文件,不会递归查找abc/**/*.log 忽略abc目录下的所有log文件,会递归查找忽略已经添加到仓库的文件或目录,[--cached]会保留本地文件忽略文件:git rm --cached file_name忽略目录:git rm -r --cached dir_name然后提交推送即可5、分支管理git branch 显示本地所有分支git branch -r 显示远程所有分支git branch -a 显示本地和远程所有分支git branch test [master] [基于master分支]创建test分支git branch -d test 删除本地test分支git push origin --delete testgit branch -dr test 结合上步操作,删除远程test分支git merge test 将test分支合并到当前分支git checkout test 切换到指定test分支git checkout -b test 创建test分支并切换git checkout index.php 将index.php文件的修改撤销git checkout . 将恢复上次commit到工作区git checkout HEAD [index] [将index文件]从版本库中替换暂存区及工作区git reset HEAD index.php 将index.php文件的add操作撤销6、开发流程master 主分支,主要用来版本发布develop 日常开发分支,该分支正常保存了开发的最新代码release master分支的未测试板,比如某期功能开发完成,那么就将develop分支合并到release分支,测试没有问题,并且到了发布日期就合并到master分支,进行发布local 本地功能分支,一般fork自develop分支7、远程分支git clone git仓库克隆一个git仓库git checkout develop 首次clone仓库后看不到其它分支,需要作此操作git pull 从托管服务器拉取并合并,若工作区或暂存区有待处理则无法执行git fetch 从托管服务器拉取,但是不合并git push 向托管服务器推送,若服务器版本有更改则会失败需要先pull8、先本地创建,再远程托管git initgit add .git commit -a -m 'init' 添加修改到暂存区并提交(只能是已经纳入管理的文件)git remote add origin 远程仓库git push -u origin master 首次需要输入用户名和密码(会缓存)git credential-manager uninstall 清除缓存的用户名和密码9、差异比较git diff 工作区与上次提交的差异git diff --cached 暂存区与上次提交的差异git diff --staged 暂存区与上次提交的差异git diff HEAD^ HEAD 上次提交和上上次提交的差异git diff sha1 sha2 两次历史提交的差异10、恢复命令1、git reset [--mixed] <commit-id> 默认选项恢复到指定提交,会修改commit和工作区,再次提交需要add/commit2、git reset --soft <commit-id>恢复到指定提交,会修改commit,再次可以直接commit3、git reset --hard <commit-id>恢复到指定提交,会修改commit和工作区,不会保留任何东西4、git reset HEAD^恢复到上次的提交,即删除最后一次的提交5、git reset HEAD index.php恢复index.php文件的add操作11、SSH登录1、在~/.ssh目录生成公钥私钥对:ssh-keygen [-t rsa]2、将公钥添加到项目中, => Settings => SSH and GPG keys3、之后即可无密码登录(首次登录会有信任提示)12、工作原理:13、标签参数介绍:-a:添加附注标签-m:指定说明信息-d:删除附注标签-l:列表显示标签实例演示:git tag [-l/--list] 列出所有标签git tag v1.0 [commit] 创建基于指定提交的标签git show [tag] 查看tag信息git push [remote] [tag] 提交指定taggit push [remote] --tags 提交所有taggit checkout -b [branch] [tag] 新建一个分支,指向某个tag14、远程同步git fetch [remote] 下载远程仓库到本地仓库,不会改变暂存区和工作区git remote -v 显示所有远程仓库git remote show [remote] 显示某个远程仓库的信息git remote add [name] url 增加一个新的远程仓库,并命名git remote remove name 移除指定的远程仓库git pull [remote] [branch] 下载远程仓库到本地仓库并合并,会改变暂存区/工作区git push [remote] [branch] 上传本地分支到远程仓库git push [remote] --force 强行推送本地分支到远程仓库,即使有冲突git push [remote] --all 推送所有分支到远程git push --set-upstream origin develop为推送本地develop分支建立与远程上游的追踪,首次推送远程不存在的分支时使用15、忽略文件权限的修改现象:首次推送到服务器上的代码,文件全部都修改了,不同系统的文件权限管理的形式不同git config core.filemode false16、冲突解决产生原因:多人的提交修改了相同的文件现象:推送失败,提示有更新的提交,请先拉取(git pull)出现冲突:<<<<<<< HEAD123 本地的修改=======111111 远程的修改>>>>>>> a5a658088bf3ef6bd5124a2eda992b91d66b1340解决方案:修改代码123111111提交推送git commit -a -m '合并冲突'git push17、忽略指定文件的修改忽略指定文件的修改:git update-index --assume-unchanged 文件名取消忽略文件的修改:git update-index --no-assume-unchanged 文件名。
git的配置方法如何配置git?git是一个版本控制系统,它可以追踪文件的变化,并允许多人协作开发项目。
在使用git前,我们需要对其进行一些配置,以适应个人或团队的需求。
本文将逐步介绍如何配置git,包括全局配置、项目配置、常用配置项等。
一、全局配置1. 安装git首先,确保已正确安装git。
在终端中输入以下命令,检查git是否已安装:git version如果显示出git版本号,则表示已成功安装git,否则需要先下载和安装。
2. 设置用户名和邮箱接下来,我们需要设置全局的用户名和邮箱,这样在git提交时可以显示正确的信息。
在终端中执行以下命令:git config global "Your Name"git config global user.email "your_email@example"将"Your Name"和"your_email@example"替换为自己的姓名和邮箱。
3. 配置默认编辑器git默认使用vi或vim作为编辑器,如果对于这类编辑器不熟悉,可以选择自己熟悉的编辑器进行配置。
以下是一些常见的编辑器配置示例:# 使用VS Code作为默认编辑器git config global core.editor "code wait"# 使用Sublime Text作为默认编辑器git config global core.editor "subl -n -w"# 使用Atom作为默认编辑器git config global core.editor "atom wait"执行以上命令中的一条即可将相应编辑器设置为默认编辑器。
4. 配置颜色输出git支持颜色输出,可以通过以下命令进行配置:git config global color.ui true将"true"改为"auto"将会根据终端的能力自动显示颜色输出。
Git命令详解及常⽤命令整理Git 命令详解及常⽤命令Git作为常⽤的版本控制⼯具,多了解⼀些命令,将能省去很多时间,下⾯这张图是⽐较好的⼀张,贴出了看⼀下:关于git,⾸先需要了解⼏个名词,如下:Workspace //⼯作区Index / Stage //暂存区Repository //仓库区(或本地仓库)Remote //远程仓⼀、新建代码库// 在当前⽬录新建⼀个Git代码库$ git init// 新建⼀个⽬录,将其初始化为Git代码库$ git init [project-name]// 下载⼀个项⽬和它的整个代码历史$ git clone [url]⼆、配置Git的设置⽂件为.gitconfig,它可以在⽤户主⽬录下(全局配置),也可以在项⽬⽬录下(项⽬配置)。
// 显⽰当前的Git配置$ git config --list// 编辑Git配置⽂件$ git config -e [--global]// 设置提交代码时的⽤户信息$ git config [--global] "[name]"$ git config [--global] user.email "[email address]"三、增加/删除⽂件// 添加指定⽂件到暂存区$ git add [file1] [file2] ...// 添加指定⽬录到暂存区,包括⼦⽬录$ git add [dir]// 添加当前⽬录的所有⽂件到暂存区$ git add .// 添加每个变化前,都会要求确认// 对于同⼀个⽂件的多处变化,可以实现分次提交$ git add -p// 删除⼯作区⽂件,并且将这次删除放⼊暂存区$ git rm [file1] [file2]// 停⽌追踪指定⽂件,但该⽂件会保留在⼯作区$ git rm --cached [file]// 改名⽂件,并且将这个改名放⼊暂存区$ git mv [file-original] [file-renamed]四、代码提交// 提交暂存区到仓库区$ git commit -m [message]// 提交暂存区的指定⽂件到仓库区$ git commit [file1] [file2] ... -m [message]// 提交⼯作区⾃上次commit之后的变化,直接到仓库区$ git commit -a// 提交时显⽰所有diff信息$ git commit -v// 使⽤⼀次新的commit,替代上⼀次提交// 如果代码没有任何新变化,则⽤来改写上⼀次commit的提交信息$ git commit --amend -m [message]// 重做上⼀次commit,并包括指定⽂件的新变化$ git commit --amend [file1] [file2]五、分⽀// 列出所有本地分⽀$ git branch// 列出所有远程分⽀$ git branch -r// 列出所有本地分⽀和远程分⽀$ git branch -a// 新建⼀个分⽀,但依然停留在当前分⽀$ git branch [branch-name]// 新建⼀个分⽀,并切换到该分⽀$ git checkout -b [branch]// 新建⼀个分⽀,指向指定commit$ git branch [branch] [commit]// 新建⼀个分⽀,与指定的远程分⽀建⽴追踪关系$ git branch --track [branch] [remote-branch]// 切换到指定分⽀,并更新⼯作区$ git checkout [branch-name]// 切换到上⼀个分⽀$ git checkout -// 建⽴追踪关系,在现有分⽀与指定的远程分⽀之间$ git branch --set-upstream [branch] [remote-branch]// 合并指定分⽀到当前分⽀$ git merge [branch]// 选择⼀个commit,合并进当前分⽀$ git cherry-pick [commit]// 删除分⽀$ git branch -d [branch-name]// 删除远程分⽀$ git push origin --delete [branch-name]$ git branch -dr [remote/branch]六、标签// 列出所有tag$ git tag// 新建⼀个tag在当前commit$ git tag [tag]// 新建⼀个tag在指定commit$ git tag [tag] [commit]// 删除本地tag$ git tag -d [tag]// 删除远程tag$ git push origin :refs/tags/[tagName]// 查看tag信息$ git show [tag]// 提交指定tag$ git push [remote] [tag]// 提交所有tag$ git push [remote] --tags// 新建⼀个分⽀,指向某个tag$ git checkout -b [branch] [tag]七、查看信息// 显⽰有变更的⽂件$ git status// 显⽰当前分⽀的版本历史$ git log// 显⽰commit历史,以及每次commit发⽣变更的⽂件$ git log --stat// 搜索提交历史,根据关键词$ git log -S [keyword]// 显⽰某个commit之后的所有变动,每个commit占据⼀⾏$ git log [tag] HEAD --pretty=format:%s// 显⽰某个commit之后的所有变动,其"提交说明"必须符合搜索条件$ git log [tag] HEAD --grep feature// 显⽰某个⽂件的版本历史,包括⽂件改名$ git log --follow [file]$ git whatchanged [file]// 显⽰指定⽂件相关的每⼀次diff$ git log -p [file]// 显⽰过去5次提交$ git log -5 --pretty --oneline// 显⽰所有提交过的⽤户,按提交次数排序$ git shortlog -sn// 显⽰指定⽂件是什么⼈在什么时间修改过$ git blame [file]// 显⽰暂存区和⼯作区的差异$ git diff// 显⽰暂存区和上⼀个commit的差异$ git diff --cached [file]// 显⽰⼯作区与当前分⽀最新commit之间的差异$ git diff HEAD// 显⽰两次提交之间的差异$ git diff [first-branch]...[second-branch]// 显⽰今天你写了多少⾏代码$ git diff --shortstat "@{0 day ago}"// 显⽰某次提交的元数据和内容变化$ git show [commit]// 显⽰某次提交发⽣变化的⽂件$ git show --name-only [commit]// 显⽰某次提交时,某个⽂件的内容$ git show [commit]:[filename]// 显⽰当前分⽀的最近⼏次提交$ git reflog⼋、远程同步# 下载远程仓库的所有变动$ git fetch [remote]# 显⽰所有远程仓库$ git remote -v# 显⽰某个远程仓库的信息$ git remote show [remote]# 增加⼀个新的远程仓库,并命名$ git remote add [shortname] [url]# 取回远程仓库的变化,并与本地分⽀合并$ git pull [remote] [branch]# 上传本地指定分⽀到远程仓库$ git push [remote] [branch]# 强⾏推送当前分⽀到远程仓库,即使有冲突$ git push [remote] --force# 推送所有分⽀到远程仓库$ git push [remote] --all九、撤销// 恢复暂存区的指定⽂件到⼯作区$ git checkout [file]// 恢复某个commit的指定⽂件到暂存区和⼯作区$ git checkout [commit] [file]// 恢复暂存区的所有⽂件到⼯作区$ git checkout .// 重置暂存区的指定⽂件,与上⼀次commit保持⼀致,但⼯作区不变$ git reset [file]// 重置暂存区与⼯作区,与上⼀次commit保持⼀致$ git reset --hard// 重置当前分⽀的指针为指定commit,同时重置暂存区,但⼯作区不变$ git reset [commit]// 重置当前分⽀的HEAD为指定commit,同时重置暂存区和⼯作区,与指定commit⼀致$ git reset --hard [commit]// 重置当前HEAD为指定commit,但保持暂存区和⼯作区不变$ git reset --keep [commit]// 新建⼀个commit,⽤来撤销指定commit// 后者的所有变化都将被前者抵消,并且应⽤到当前分⽀$ git revert [commit]// 暂时将未提交的变化移除,稍后再移⼊$ git stash$ git stash pop⼗、其他// ⽣成⼀个可供发布的压缩包$ git archive感谢阅读,希望能帮助到⼤家,谢谢⼤家对本站的⽀持!。
文档编号:XXXXXXXXXXX
Git安装配置
文档密级: 内部公开
当前版本: v1.0
文档状态: 草稿
完成时间: 2013-12-31 16:06:00
修订记录Revision Records
日期Date 修订版本
Revision
描述
Description
作者
Author
09-25 V1.0 完成测试报告模板周亮
目录Contents
1配置命令行GIT工具 (4)
1.1下载并安装MSYSGIT (4)
1.2打开G IT B ASH (4)
1.3配置G IT (5)
2测试GIT功能 (6)
2.1检出仓库 (6)
2.2钩子脚本?? (6)
2.3提交修改 (7)
1配置命令行GIT工具
1.1下载并安装msysgit
下载地址:https:///p/msysgit/downloads/list 注意:在配置msysgit时选择unix结尾符风格
1.2打开Git Bash
1.3配置Git
Step1 设置姓名和邮件
$ git config --global "zhouliang"
$ git config --global user.email “zhouliang@" Step2生成密钥并拷贝内容
$ssh-keygen.exe -t rsa
$ cat /c/Users/admin/.ssh/id_rsa.pub并拷贝内容到剪贴板
Step3 登陆Gerrit服务器,并设置公钥
地址:http://192.168.100.204:8080(用户名:姓名全拼密码: passwd)
请选择Settings>SSH Public Keys,如下图
粘贴Key内容到框内,如下图
2测试GIT功能
简单的git操作可参考链接http://rogerdudler.github.io/git-guide/index.zh.html
2.1检出仓库
命令格式:git clone username@host:/path/to/repository
举例:如何检出EasyNAS仓库:git clone ssh://zhouliang@192.168.100.204:29418/EasyNAS
2.2钩子脚本??
$ scp -p -P 29418 zhouliang@192.168.100.204:hooks/commit-msg .git/hooks/
说明:Git 库的钩子脚本 hooks/commit-msg为了保证已经提交审核的修订通过审核入库后,被别的
分支 cherry-pick 后再推送至服务器时不会产生新的重复的评审任务,Gerrit 设计了一套方法,即要求每
个提交包含唯一的 Change-Id,这个 Change-Id 因为出现在日志中,当执行 cherry-pick 时也会保持,Gerrit 一旦发现新的提交包含了已经处理过的Change-Id,就不再为该修订创建新的评审任务和 task-id,而直接将提交入库。
为了实现 Git 提交中包含唯一的 Change-Id,Gerrit 提供了一个钩子脚本,放在开
发者本地 Git 库中(hooks/commit-msg)。
这个钩子脚本在用户提交时自动在提交说明中创建以"Change-Id: " 及包含git hash-object命令产生的哈希值的唯一标识。
Git 库的钩子脚本 hooks/commit-msg 为了保证已经提交审核的修订通过审核入库后,被别的分支 cherry-pick 后再推送至服务器时不会
产生新的重复的评审任务,Gerrit 设计了一套方法,即要求每个提交包含唯一的 Change-Id,这个Change-Id 因为出现在日志中,当执行 cherry-pick 时也会保持,Gerrit 一旦发现新的提交包含了已经处理过的 Change-Id ,就不再为该修订创建新的评审任务和 task-id,而直接将提交入库。
为了实现 Git 提交中包含唯一的 Change-Id,Gerrit 提供了一个钩子脚本,放在开发者本地 Git 库中(hooks/commit-msg)。
这个钩子脚本在用户提交时自动在提交说明中创建以 "Change-Id: " 及包含 git hash-object 命令产生的哈希值的唯一标识。
更多信息访问:/2010/11/10/2059.html
2.3 提交修改
常用的git命令快速参考:。