git命令使用说明(整理中........)
Git+使用教程

为了简明起见,我们创建两个文件作为练习:
$ echo "Hello world" > hello $ echo "Silly example" > example
我们再用 git-add 命令将这两个文件加入到版本库文件索引当中:
$ git-add hello example
Git 中文教程
● 创建一个属于自己的个人工作分支,以避免对主分支 master 造成太多的干扰,也方便与他人交流协 作。
● 当进行高风险的工作时,创建一个试验性的分支,扔掉一个烂摊子总比收拾一个烂摊子好得多。 ● 合并别人的工作的时候,最好是创建一个临时的分支,关于如何用临时分支合并别人的工作的技巧,
$ git-update-index --add hello example
如果你要将某个文件从 git 的目录跟踪系统中清除出去,同样可以用 git-update-index 命令。例如:
$ git-update-index --force-remove foo.c
Note git-add 可以将某个目录下的所有内容全都纳入内容跟踪之下,例如: git-add ./path/to/
/documents/gittutorcn.htm(第 5/23 页)2008-12-13 13:34:48
Git 中文教程
$ git-checkout robin $ echo "Work, work, workd" >> hello $ git-commit -m "Some workd" -i hello
$ git-checkout master $ echo "Play, play, play" >> hello $ echo "Lots of fun" >> example $ git-commit -m "Some fun" -i hello example
Gitpull(拉取)及push(上传)相关命令介绍

Gitpull(拉取)及push(上传)相关命令介绍前⾔:博主最近在学习git命令,因为git是⼀个⾮常好⽤的分布式版本管理⼯具,功能⽐svn强⼤,与SVN不同点是Git去中⼼化,每⼀个分⽀都是⼀个中⼼,并且⽀持本地仓库存储,像如今很多⼤公司都⽤git做版本控制。
话不多说,具体命令整理如下:git拉取远程代码git clone https://xxx.git git拉取远程指定分⽀下代码(-b 分⽀名称)git clone -b v2.8.1 https://xxx.git初始化⼀个本地仓库,在同级⽬录下会出现⼀个隐藏的.git⽂件git init 查看git的配置信息git config -l git配置本地仓库的userName(必须)git config 'Lee' git配置本地仓库的邮箱(必须)gitconfiguser.email'************' 三级⽂件配置路径:.git/config/.gitconfig #当前⽤户⽬录/etc/gitconfig #git安装⽬录本地提交到git索引(缓存)中git add . #把新增的、修改的都加到缓存git add -A #把新增、和修改的、和删除的都加到缓存 本地从缓存中加到⽂件库(repository)中git commit -m '版本描述' #提交到⽂件库本地⼀件提交到⽂件库中git commit -am '版本描述' #⼀步完成提交 查看当前git状态信息(查看是否有⽂件未提交)git statusgit中的三类⽂件被追踪的(tracked):已经加⼊⽂档库不被追踪的(untracked):没有加⼊⽂档库忽略的(ignored):忽略那些不需要管理的⽂件夹或⽂件 git新建忽略⽂件⽬录下建⽴⼀个.gitignore⽂件(可以有多个,影响范围当前⽂件及⼦⽂件)touch .gitignore .gitignore⽂件忽略内容demo# Maven #target/# IDEA #.idea/*.iml# Eclipse #.settings/.classpath.project注意:新建的⼀个忽略⽂件,为什么没有⽣效答:可能是因为你的缓存区已经有忽略的⽂件了,所以需要先清空缓存区⾥的⽂件,重新add和commit操作删除缓存区所有⽂件命令git rm -r --cached . #主要这个点⼀定要写 重新add到缓存区git add . 每⼀次commit都是⼀个提交点,唯⼀标识SHA1的ID,ID可使⽤前4⾄7个数字表⽰查看git的⽇志信息git log给提交点打标签 git tag -a v0.2 4a80f64(提交点SHA1的ID的前7位)git tag -a tagV1 d819565b #提交点SHA1的ID的前7位回车之后会有输⼊tag内容的界⾯,然后像linux⼀样点击 i 编辑输⼊信息后 esc 然后 :wq 保存退出简化git⽇志输出格式git log --oneline显⽰主分⽀和⾃分⽀git⽇志(前⾯会多个星号)git log --oneline --graph查看本地添加了哪些远程分⽀地址git remote查看本地添加了哪些远程分⽀地址(详细)git remote -v删除本地指定的远程地址git remote remove origin 添加远程地址git remote add origin https://xxxxxxxxxxxx.git 分⽀:分⽀意味着你可以从开发主线(master)上分离开,在不影响主线的同事继续⼯git branch #列出当前开发所有分⽀(默认会有master)git branch king #创建⼀个king的分⽀(最新提交点)git branch king 提交点 # 创建⼀个king的分⽀(指定提交点)git branch -d -r <branchname> # 删除远程分⽀,删除后还需推送到服务器git push origin:<branchname> # 删除后推送⾄服务器git branch -d king #删除king分⽀git checkout king #切换⾄king分⽀git checkout mastergit merge king #合并分⽀king和主⼲master,合并后的提交点属于主⼲master本地分⽀重命名git branch -m <oldbranch> <newbranch> #重命名本地分⽀ 查看本地和远程的所有分⽀git branch -a # 查看本地和远程的所有分⽀ 查看远程所有分⽀git branch -r # 查看远程所有分⽀重命名远程分⽀:1、删除远程待修改分⽀2、push本地新分⽀到远程服务器head节点代表最新的commit 显⽰head 信息git show HEAD回退:git reset 选项提交点(选项:--hard表⽰全恢复提交点:可⽤ID或标签)git reset --hard v0.1查询所有提交点git reflog #回退后需要反悔的话,需要通过此命令查找到所有操作的提交点合并分⽀的起始点(不推荐)git checkout mastergit rebase reking #合并分⽀reking和主⼲master,合并后的提交点属于主⼲masterclone 克隆远程⽂件git clone "远程地址" "本地⽂件名称" push 推送本地修改分⽀⾄远程git仓库git push -u origin feature-wxDemo fetch与pullfetch是将远程主机的最新内容拉到本地,不进⾏合并git fetch origin master pull 则是将远程主机的master分⽀最新内容拉下来后与当前本地分⽀直接合并 fetch+mergegit pull origin master如果远程分⽀是与当前分⽀合并,则冒号后⾯的部分可以省略。
git使用及提交规范

Git 版本控制Git中大部分操作都是针对本地文件和本地数据库,只有在我们平时执行类似克隆(clone)、pull、push等命令时才与远程服务器交互。
这样对于开发维护代码库就很安全,因为一旦远程服务器代码丢失仍然可以将本地代码上传到服务器;也会给开发者带来诸多方便,因为将远程代码取到本地后可以随意的修改,一旦修改混乱之后仍然可以恢复到以前版本,即使本地代码被误删除仍然可以重新从服务器取回代码。
下面将针对一些常用使用命令和技巧进行介绍:一、git提交规范在commit是,如果有对应PR,请在第一行写上PR号,然后再描述信息(另起行),并把涉及到改动的文件名附上.具体操作如下(不用git commit -m 填写说明):1、如果提交全部文件(请先git status确认是否要提交所有改动)1.1 git commit -a1.2 在打开的编辑器中(默认为VIM) 第一行填写PR号(顶格写,多个PR用逗号隔开,要写全),然后再写说明。
1.3 把涉及修改文件路径前的# 去掉,就会提交,不用手工输入文件路径。
1.4 然后ESC 输入:wq退出VIM.2、如果提交部分文件2.1 分别git add 要提交的所有文件。
2.2 git commit。
2.3 以后步骤同上。
二、第一次初始配置1、第一次取出代码到本地需要克隆代码(从服务器取代码到本地),一般如果新建一个本地代码库都需要重新克隆一次代码。
命令:git clone git://服务器代码库地址2、第一次使用git环境一般应该配置你的用户信息,这样会方便别人与自己查看git提交代码记录。
命令:$ git config --global zhangsan$ git config --global user.email *****************.cn这里使用的—global,以后的所有项目都默认使用这个配置,这时写入的是用户主目录的git配置文件(跟曲以鹏在邮件里边说的那个“.gitconfig”文件应该是一回事),如果想改变其中一个项目的配置可以去掉—global重新配置如:命令:$ git config lisi查看这些配置信息,如:命令:$ git config --list3、修改编辑器,一般我们在git commit(提交)后,需要添加PR号或者添加注释信息,对于编辑可以选用自己习惯的编辑器如:vi命令:$ git config --global core.editor vi三、提交代码(这部分只是针对本地代码库,所有操作都没有涉及服务器)1、提交代码过程大家都非常熟悉,平时常用几种命令,如:$ git add file –> $ git commit 或者全部提交:$ git commit –a当中可能经常使用如$ git status 查询状态、$ git diff 比较不同。
git基本命令

4、版本库管理相关命令
命令 简要说明 git count-objects 显示松散对象的数量和磁盘占用 git filter-branch 版本库重构 git fsck 对象库完整性检查 git fsck-objects* 同义词,等同于 git fsck git gc 版本库存储优化 git index-pack 从打包文件创建对应的索引文件 git lost-found* 过时,请使用 git fsck –lost-found 命令 git pack-objects 从标准输入读入对象ID,打包到文件 git pack-redundant 查找多余的 pack 文件 git pack-refs 将引用打包到 .git/packed-refs 文件中 git prune 从对象库删除过期对象 git prune-packed 将已经打包的松散对象删除 git relink 为本地版本库中相同的对象建立硬连接 git repack 将版本库未打包的松散对象打包 git show-index 读取包的索引文件,显示打包文件中的内容 git unpack-objects 从打包文件释放文件 git verify-pack 校验对象库打包文件
git config 用法

git config 是用于进行一些配置设置的命令,有三种不同的方式来指定这些配置适用的范围:
1. git config 针对一个 git 仓库。
2. git config --global 针对一个用户。
3. sudo git config --system 针对一个系统,因为是针对整个系统的,所以必须使用 sudo。
此外,git config 还有以下用法:
1. 查看所有配置:git config -l
2. 查看特定配置:git config --get <key>
3. 设置特定配置:git config --set <key> <value>
4. 删除特定配置:git config --unset <key>
在使用 git config 时,如果当前目录不是一个有效的 git 仓库,在执行一些命令时会报错。
一般我们 clone 一个 git 仓库,默认都是一个工作目录,那么对应的配置变量 bare = false。
当我们在用 git 提交代码前,这个是必须要设置的。
以上信息仅供参考,如需了解更多信息,请查阅官网或咨询专业人士。
git checkout 命令详解

git checkout 命令详解在日常的git操作中,git checkout——检出,是我们的常用命令。
最为常用的两种情形是创建分支和切换分支。
在下面的命令中,使用了一些简写,在这里说明一下:git st # git statusgit ci # git commitgit br # git branchgit co # git checkoutgit mg # git mergegit line # git log --oneline当然,你也可以直接在git中敲命令,将这些简写添加到git 配置中git config --global -e然后,可以插入下面的配置:[alias]st = statusco = checkoutbr = branchmg = mergeci = commitmd = commit --amenddt = difftoolmt = mergetoollast = log -1 HEADcf = configline = log --onelinelatest = for-each-ref --sort=-committerdate--format='%(committerdate:short) %(refname:short)[%(committername)]'ls = log--pretty=format:\"%C(yellow)%h %C(blue)%ad %C(red)%d %C(reset)%s %C(green)[%cn]\" --decorate --date=short hist = log--pretty=format:\"%C(yellow)%h %C(red)%d %C(reset)%s %C(green)[%an] %C(blue)%ad\" --topo-order --graph--date=shorttype = cat-file -tdump = cat-file -p这样,你也就可以使用这些简写的命令咯。
git分支原理命令图文解析

本地分支解析git 通过可变指针来实现对提交数据的历史版本的控制,每当我们提交新的更新,当前分支(设为master)则指向最后一个提交更新A,而最后一个提交对象则存在一个指针指向前一次的提交更新Q。
如果我们创建一个新的分支,child,它和master共同指向A,这时,如果我们向child分支提交更新B,我们会发现child 指向B,而master依然指向A。
无论我们在child分支进行了任何开发,只要回到master分支,就能恢复到更新A的数据状态了。
在图片里,我们还注意到有一个head指针,一般来说,它会指向我们目前所在的工作分支。
现在它指向了我们的master分支,意思是master是我们目前的工作分支。
一旦提交更新,就会在master分支上提交。
现在,让我们看看与git 分支有关的操作命令:1. git branch [option] [name]如果不使用任何参数,它可以用来查看所有的分支,而在分支名前有*标记的则为主分支,如果加上name为创建新分支,,如git branch child,则会创建一个名为child 的分支,此外,它有一些常用的参数:2. git checkout [name]切换到对应的分支,对于上图,如果我们是使用git checkout child,我们的head 指针就会指向child分支了。
这时候,如果我们提交新的更新D,我们会发现:我们的D指向C,而C依然指向A,也就是说,以后我们在child分支上做的任何更新,都不会对master分支所在的之路造成任何影响!一旦使用了checkout命令,我们还会发现,不仅head指针会指向新的分支,而且当前工作目录中的文件也会换成了新分支对应的文件了。
此外,我们还可以使用git checkout -b [name]命令,它会新建一个分支,并自动将当前的工作目录切换到该分支上。
3. git merge [name]合并分支,有的时候,我们创建次要分支,可能是为了修改原有程序的bug,或为了拓展新的功能,这时候如果我们想把次要分支的修改何并进主分支中,我们可以使用git merge命令来实现。
sourcegit用法

sourcegit用法在开发项目中,版本控制和代码管理是非常重要的环节。
Git作为目前世界上最流行的分布式版本控制系统,广泛应用于软件开发和维护中,为程序员们提供了非常便捷的协作和管理手段。
在Git中,sourcegit是一个十分实用的命令,下面我们来介绍一下它的用法。
1. 查看源代码在Git中,sourcegit命令可以直接查看源代码,包括文件的修改记录和差异,非常适合程序员们进行版本追踪和比较。
使用如下:```sourcegit show [file path]```其中的[file path]是指要查看的文件路径。
如果想要查看某个提交的修改记录,可以加上commit SHA值:```sourcegit show [commit SHA值]:[file path]```2. 修改历史记录在使用Git进行代码协作和版本管理时,有时候需要对提交的历史记录进行修改或者删除。
sourcegit命令可以在这方面提供很好的支持,使用如下:```sourcegit rebase -i [commit SHA值]```其中的[commit SHA值]是指要修改的提交的哈希值。
在这个命令的交互界面中,你可以对每个提交进行单独编辑,包括修改提交信息、移除某个提交或者合并多个提交。
3. 比较提交除了查看源代码之外,sourcegit还可以用来比对提交内容之间的差异,并提供标记和注释功能。
使用如下:```sourcegit diff [commit SHA值1] [commit SHA值2]```其中的[commit SHA值1]和[commit SHA值2]是指要比较的两个提交的哈希值。
sourcegit会将这两个提交之间不同的内容标记出来,并提供解释和备注功能。
4. 分支管理在Git中,分支管理是非常重要和复杂的功能。
sourcegit命令可以帮助我们更好的处理分支之间的关系,并进行合并、重叠等操作。
使用如下:```sourcegit branch [分支名] [基准分支名]```其中的[分支名]是指要创建或者切换的分支名字,[基准分支名]是指要基于哪个分支来创建或切换。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Git操作说明
使用git之前
下载安装Cygwin Terminal
下载地址
/
安装过成中注意,选择git 和vim 相关选项进行安装完成后执行创建目录(和linux命令一样)
到创建好的目录下
执行
git clone /zople/365Project.git
检出项目
Git 相关命令以及操作流程
1.git config
说明:第一次操作时需要配置git的一些信息
例子:
git config -- global “Your Name”
git config -- global user.email “you@”
2 . git add
说明: 添加新增的内容需要add一下
例子:
git add /home/root/aaa/* (当前目录下所有的更新)
3.git commit
说明: commit如下所示–m返回提交时的信息;
git commit –m “message” -a
4.git pull
在执行push 之前使用pull 确保push之前是最新的
5.git push
push 时会遇到各种问题需要merge 需要编辑后处理冲突问题之后再执行commit再push
如果没有文件冲突问题就会很成功提交
6.git rm
删除不需要的文件;在删除之前执行下pull
然后commit 再执行push
7更多强大命令,在用的时候大家共同研究,更新
执行下git help
$ git help
usage: git [--version] [--exec-path[=<path>]] [--html-path] [--man-path] [--info-path]
[-p|--paginate|--no-pager] [--no-replace-objects] [--bare]
[--git-dir=<path>] [--work-tree=<path>] [--namespace=<name>]
[-c name=value] [--help]
<command> [<args>]
The most commonly used git commands are:
add Add file contents to the index
bisect Find by binary search the change that introduced a bug
branch List, create, or delete branches
checkout Checkout a branch or paths to the working tree
clone Clone a repository into a new directory
commit Record changes to the repository
diff Show changes between commits, commit and working tree, etc
fetch Download objects and refs from another repository
grep Print lines matching a pattern
init Create an empty git repository or reinitialize an existing one log Show commit logs
merge Join two or more development histories together
mv Move or rename a file, a directory, or a symlink
pull Fetch from and merge with another repository or a local branch push Update remote refs along with associated objects
rebase Forward-port local commits to the updated upstream head
reset Reset current HEAD to the specified state
rm Remove files from the working tree and from the index
show Show various types of objects
status Show the working tree status
tag Create, list, delete or verify a tag object signed with GPG 分支的建立,合并,和删除用的时候再研究。