相关软件下载参考:https://gitee.com/all-about-git
该页面最下面有git命令使用参考,以下内容总结自黑马完整的git项目管理工具教程。
设置用户信息:
git config --global user.name "cuisuqiang" git config --global user.email "cuisuqiang@qq.com"
查看用户信息:
git config --global user.name
为常用命令重命名(Win用户目录下):
touch ~/.bashrc
#用于输出git提交日志
alias git-log='git log --pretty=oneline --all --graph --abbrev-commit'
#用于输出当前目录所有文件及基本信息
alias ll='ls -al'
解决GitBash乱码:
(1)执行命令
git config --global core.quotepath false
(2)$(git_home)/etc/bash.bashrc加入(git安装目录)
export LANG="zh_CN.UTF-8" export LC_ALL="zh_CN.UTF-8"
常用命令:
(1)在任意目录新建一个新的目录作为仓库,在文件夹内右键打开bash窗口,执行命令git init,这时该目录被定义为git仓库。新建文件test.txt,写入任意一行内容待用。
(2)工作区到暂存区
git add test.txt # 或者 git add .
(3)工作区到仓库
git commit -m "第一次提交" (可选文件名)
(4)查看提交日志
git log (可选文件名) -all(所有分支) --pretty=oneline(提交信息显示为一行) --abbrev-commit(简洁输出) --graph(图形式输出)
由于上面已经配置别名的命令,可以直接使用:git-log来查看
(5)切换切换,
git reset --hard commitID
如果git log无法获取到提交commitID,可以使用
git reflog
来查看完整的提交记录
(6)如果不想让git管理某文件,新建文件.gitignore,里面增加文件名,可以使用通配符,比如*.mp4。
分支管理:
(1)查看分支
git branch
(2)新建分支
git branch 名称
(3)切换分支
git checkout 分支名
(4)切换到一个不存在分支并创建
git checkout -b 分支名
(5)合并分支
git merge 分支名
(6)删除分支,注意不能删除当前分支
git branch -d 分支名
该方法删除时做检查
git branch -D 分支名
强制删除。
(7)解决冲突,处理文件中冲突的部分,将解决后的文件放入暂存区,提交到仓库。
连接远程仓库:
SSH方式生成密钥参考:http://www.javacui.com/tool/510.html 。
测试
ssh -T git@gitee.com
提示信息输入yes,提示成功信息。
将本地仓库关联远程仓库:
关联远程
git remote add origin https://gitee.com/cuisuqiang/test.git
然后查看是否有远程仓库
git remote
提交文件
git push origin "master"
如果本地已经和远程关联,则无需使用后面参数直接git push即可。
查看本地和远程对应关系
git branch -vv
克隆远程仓库:
git clone git@gitee.com:cuisuqiang/test.git 本地文件名
抓取远程仓库:
git fetch origin "master"
将远程更新抓取到本地,但是不会进行合并,就是当你执行这个命令后通过git log能看到更新,但是当前仓库并没有更新的文件。如果不指定远端和本地分支,则抓取所有分支。
拉取远程仓库:
git pull origin "master"
该命令等同于fetch+merge。如果不指定远端和本地分支,则抓取所有分支。
和远程仓库冲突:
先pull远程仓库,提示:
Auto-merging test.txt CONFLICT (content): Merge conflict in test.txt
解决方式和分支管理中(7)一样,解决冲突后再push到远程。
warning: LF will be replaced by CRLF in ** 的原因及解决办法
原因
LF和CRLF其实都是换行符,但是不同的是,LF是linux和Unix系统的换行符,CRLF是window 系统的换行符。这就给跨平台的协作的项目带来了问题,保存文件到底是使用哪个标准呢? git为了解决这个问题,提供了一个”换行符自动转换“的功能,并且这个功能是默认处于”自动模式“即开启状态的。
这个换行符自动转换会把自动把你代码里 与你当前操作系统不相同的换行的方式 转换成当前系统的换行方式(即LF和CRLF 之间的转换),这样一来,当你提交代码的时候,即使你没有修改过某个文件,也被git认为你修改过了,从而提示"LF will be replaced by CRLF in *****"
解决
最简单的一种办法就是把自动转换功能关掉即可。
输入命令 :git config core.autocrlf false (仅对当前git仓库有效)
git config --global core.autocrlf false (全局有效,不设置推荐全局)
Java小强
未曾清贫难成人,不经打击老天真。
自古英雄出炼狱,从来富贵入凡尘。
发表评论: