0. 安装Git
网上有很多Git安装教程,如果需要图形界面,windows下建议使用TortoiseGit,linux建议使用Git GUI或者GITK。
Windows安装如 https://blog.csdn.net/qq_36730649/article/details/90180171
1. Git基本配置
git config可以配置git的参数,可以使用git config --list
查看已经配置的git参数。其中有三个级别的保存位置,--system
、--global
、--local
,分别表示所有用户(本系统)、当前用户(全局)、本地配置(当前目录),默认使用--local
。
配置用户名及邮箱
在使用Git提交前,必须配置用户名和邮箱(修改命令同理),
查看信息命令如
$ git config user.name
$ git config user.email
这些信息会永久保存到历史记录中(从C/user/Administator/git.config里面可以看到相应信息)。
git config --global user.name "Tocy"
git config --global user.email zyvj@qq.com
这里邮箱和账号配置好以后,当我们第一次clone的时候,会提示我们输入用户名和密码,当然用户名就是前面配置的用户名,
接下来你会发现从来没有配置过密码,所以这里就相当于第一次配置密码,一定要记住他。
2. 创建Git仓库
可以直接调用git init
初始化当前目录,即创建Git仓库。
3. 获得Git仓库
如果需要克隆远程仓库,可以使用git clone
,比如:git clone https://gitee.com/hi/sample.git
4. 提交更新
提交代码之前我们一定要更新代码,git命令一般会用 git pull,但是你用 TortoiseGit 会发现有一个 获取 / 拉取(如图)
那这两者有什么区别呢?
其实 git pull就相当于这里的拉取
git pull 从远程拉取最新版本到本地 自动合并 merge
git pull origin mastergit fetch 从远程获取最新版本到本地 不会自动合并
实际使用中 使用git fetch 更安全 在merge之前可以看清楚 更新情况 再决定是否合并
然后我们更新或者提交的时候 发现每次都要输入用户名和密码
解决办法:
git bash进入你的项目目录,输入:
git config --global credential.helper store
git status
通常提交前先检查下修改了什么内容,当前Git目录下各文件的状态。
git add . 提交所有代码 注意最后一个点,且要用空格隔开
这个命令是提交到本地仓库
git add可以添加文件或者目录,也可以使用通配符。比如:
git add Readme.md # add file only
git add *.cpp # add all cpp files
git add /home/code/ # add all files in /home/code
git diff
git diff可以查看当前目录的所有修改。
提交之前,还是单独确认下处于staged状态的文件有哪些,并保证修改正确。在实际应用中,可能还需要使用git diff
导出PATCH做代码走读。
可以使用git diff --staged
或git diff --cached
查看staged与上次提交快照之间的区别。
git commit -m "修改备注信息"
git push -----本地仓库推送到远程仓库
5. 提交历史查看
可以使用git log
查看当前工程的所有提交的日志。
git log --stat # 仅显示摘要选项
git log --pretty=oneline # 定制记录格式
git log --graph # 图像化分支和版本更新
6. 撤销更新
在还没add的情况,比如我们在MainActivity里随便添加一条语句,然后ctrl + s保存代码!
git checkout src/com/jay/example/testforgit/MainActivity.java
这个命令就可以去除我们新加的代码了
7. 远程仓库
可以使用git remote
查看当前的远程库。git remote -v
可以显示对应的克隆地址。(对于多个远程仓库很有用)
添加远程仓库
git remote add [short_name] [url]
可以添加新的远程仓库。
从远程仓库抓取数据
git fetch [remote-name]
可以从远程仓库抓取数据到本地。
也可以使用git pull
推送数据到远程仓库
git push [remote_name] [branch_name]
默认使用origin和master。
查看远程仓库信息
git remote show origin
远程仓库的删除和重命名
git remote rename [old_name] [new_name]
git remote rm [remote_name]
8. 打Tags
可使用git tag
显示当前库中的标签。
添加标签(含附注)
git tag -a v0.1 -m "my version 0.1"
使用如下命令查看Tag日志信息(指定对应标签的名字)git show v0.1
也可使用SHA-1的提交表示创建tag:git tag -a v0.2 [SHA-1] -m "my version 0.2"
分享标签
默认的,git push不会推送标签信息到远程仓库,需要通过命令显式推送。git push origin v0.1
如果需要推送所有标签,使用git push origin --tags
二 Git 分支管理
2.1 创建分支
$ git branch branchname
2.2 删除分支
$ git branch -d branchname
2.3 修改分支
git branch -m oldbranchname newbranchname
2.4 查看分支
$ git branch # 分支前有一个 * 号代表当前分支
25 切换分支
$ git checkout branchname
2.6 合并分支
合并之前,我们在FAMILY分支新建一个文件FAMIL.txt,master分支新建一个说明文档.txt,然后切换到master分支;进行俩分支合并,注意,合并前,俩个版本都要提交到本地版本库
$ git merge branchname
2.7 快速创建分支切换分支
$ git checkout -b branchname
最后告诫初学者,commit 之后还要提交 push !!!
2.8 下载制定分支文件
git clone -b branchname git地址
最后附一张命令集合