Git在开发中使用方法

Windows的Git下载地址:https://git-scm.com/downloads,在这里下载最新版的进行安装即可。
下面我们来说一下Git再Linux的安装过程,要在安装Git其实也非常简单,可以直接使用yum源进行安装,一句命令就搞定了:

sudo yum install git

Git的配置

安装完Git后就开始对Git进行配置操作,配置自己用户名和Email,配置的命令如下:

$ git config --global user.name "lidu" // 用户名
$ git config --global user.email "lidu@example.com"  // 填你自己的qq邮箱

配置完信息后,就可以「创建目录,并且初始化自己的本地仓库」了:

$ mkdir github
$ cd github
$ pwd
/e/github
$ git init  // 初始化本地仓库

在你的c盘下面有一个.ssh文件夹,进入文件夹里面可以看到有id_rsa.pub和id_rsa两个文件,第一个文件是id_rsa.pub里面的信息是公钥,而第二个文件是私钥。
加入没有这两个文件,可以使用以下命令进行生成:

$ ssh-keygen -t rsa -C "你注册的邮箱"

在当前目录新建一个Git代码库
$ git init
下载一个项目和它的整个代码历史
$ git clone [url]
增加/删除文件中

# 添加指定文件到暂存区
$ 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 remote update  --更新远程仓储
# 下载远程仓库的所有变动
$ 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

新增与删除分支

1.创建本地分支
$git branch 分支名,
 
2.切换本地分支
$git checkout 分支名
 
3.远程分支就是本地分支push到服务器上。比如master就是一个最典型的远程分支(默认)。
$git push origin 分支名
 
4.远程分支和本地分支需要区分好,所以,在从服务器上拉取特定分支的时候,需要指定远程分支的名字。
$git checkout --track origin/分支名
注意该命令由于带有--track参数,所以要求git1.6.4以上!这样git会自动切换到分支。
 
5.提交分支数据到远程服务器
$git push origin <local_branch_name>
一般当前如果不在该分支时,使用这种方式提交。如果当前在分支下,也可以直接提交
$git push
 
6.删除远程分支
$git branch -d <branch_name>
.#删除一个干净的分支(即相对当前分支而言该分支没有新的提交记录)
$git branch -D <branch_name>
.#强制删除一个分支,该分支有没有合并到当前分支的提交记录
注意:删除分支前都需要先切换到其他分支才能进行删除操作

7.查看所有分支是否都pull下来了
可加-r   -a   -v
$git branch -a

8.刷新分支:
加入服务器的某个分支删除了,但是本地通过Git branch -av还是可以看得到,感觉很烦,通过以下命令就可以更新分支的情况。
$git fetch origin --prune

9.使用merge合并开发分支
$git merge --no-ff -m "msg" <branch_name> #合并分支时禁用Fast forward模式
$git merge 分支名

10.重命名分支
$git branch -m <branch_name> newname

这样就简单的创建自己的Github的仓库了,创建完后就可以把自己的本地仓库文件同步到GitHub中,使用一下命令:

git remote add origin https://github.com/liduchang/redis.git
git push -u origin master(由于新建的GitHub仓库是空的,所以第一次推送master分支时需要加-u参数,以后再推送就不用加了)

Git中代码从低level到高leve的移动主要依靠以下命令:

git reset --files:用本地仓库覆盖暂存区中修改,也就是覆盖最后一次git add的内容。
git reset,可以撤销向暂存区新添加的文件
git reset --hard HEAD,表示回退上一个版本「在Git中HEAD表示当前版本,HEAD表示上一个版本」,若是有多个版本,这样表示就不方便了,可以使用HEAD~10,表示版本的次数
git checkout就表示切换另一条分支的命令
git checkout --files:把文件从暂存区复制到工作区,用于放弃本地的修改。
git checkout HEAD --files:回退最后一次的提交内容。
git status查看文件状态。
git log进行查看Git每一个commit都会有自己的commit的ID
git log --pretty=oneline:直接输出commit的ID,信息比较简短,然后直接指定ID的回退
git diff查看两次提交之间的变动
git rm命令进行删除

代码冲突
在团队中集体使用Git的时候,每个人都提交自己的代码最后合并到主干,总有会push失败的时候,因为push的本质:「就是用你本地仓库的commit记录去覆盖远程仓库的commit记录」。
但是别人提交了一些代码,而你本地并没有这些代码,这样代码就会被覆盖,导致别人的commit的记录就不存在,这个是绝对不允许的。
所以,每次push的时候Git就会检查,若是存在这种情况就是push失败,只要先git pull一下,将本地仓库与远程仓库先合并一下,最后push就可以成功了,若是文件中已经存在在冲突代码,只要打开文件重新解决一下冲突即可。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在实际开发Git 是一个非常强大和常用的版本控制系统。它可以帮助团队协同开发,追踪代码的变更,还原历史版本等。以下是一些常见的 Git 使用场景: 1. 创建仓库:使用 `git init` 命令在一个目录创建一个新的 Git 仓库。 2. 添加文件:使用 `git add` 命令将文件添加到 Git 的暂存区,准备提交。 3. 提交更改:使用 `git commit` 命令将暂存区的更改提交到本地仓库。 4. 查看状态:使用 `git status` 命令查看当前仓库的状态,包括已修改、已暂存和未跟踪的文件等。 5. 查看历史记录:使用 `git log` 命令查看提交历史记录,包括提交的作者、日期、提交信息等。 6. 分支管理:使用 `git branch` 命令创建、查看和删除分支,使用 `git checkout` 命令切换分支。 7. 合并分支:使用 `git merge` 命令将一个分支的更改合并到当前分支。 8. 远程仓库操作:使用 `git remote` 命令管理远程仓库,使用 `git clone` 命令克隆远程仓库到本地。 9. 推送和拉取:使用 `git push` 命令将本地仓库的更改推送到远程仓库,使用 `git pull` 命令拉取远程仓库的更改到本地。 10. 解决冲突:当多个分支对同一文件进行更改时,可能会发生冲突,需要手动解决冲突并提交。 这些只是 Git 的基础用法,Git 还有很多高级功能和命令可以用于更复杂的开发场景。建议在实际开发,对于 Git使用还要根据具体项目和团队的需求进行调整和优化。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值