Git在linux下的使用

*初始化git仓库,使用git init命令

*添加文件到git仓库分两步:

1、使用git add filename   ;可分多次使用,添加多个文件到暂存区

2、使用git commit -m  “说明”  ;完成提交到分支

*查看工作区状态,使用git status 命令;如果提示有修改可使用git diff filename 查看修改内容

*HEAD指向当前版本,HEAD^表示上一个版本,HEAD^^上上一个版本……HEAD~100指向之前第100个版本。

*回退版本:使用git log查看提交历史;使用git log --pretty=oneline 精简显示

使用git reset --hard commit_id 回退到版本号为commit_id的版本

*回退版本之后如果想再看改回来,可以使用git reflog 查看历史命令,找出想改回的版本号,再使用git reset hard commit_id 返回即可。

*注意:git跟踪并管理的是修改,而不是文件,如果一个文件修改并add之后,再次修改,如果不再次add就提交的话,只会提交第一次的修改。

*撤销修改:

1、如果文件还在工作区,即没有add也没有commit,则使用git checkout -- filename 还原到服务器版即可;

2、如果已经add到暂存区,首先使用git reset HEAD filename从暂存区取回工作区,再按照1进行操作即可;

3、如果已经提交到版本库,则按照版本回退的方式进行修改即可;

4、如果已经push到远程仓库,就麻烦了

*删除使用以下命令:

1、git rm filename 从工作区删除

2、git commit -m ”说明“  更新分支中文件进行删除

将在工作区的文件删除之后,可以使用git checkout -- filename 从分支中取回,但是只能恢复文件到最新版本,最后一次提交之后的修改则不能恢复。

*分支:

1、创建分支

git checkout -b branchname  创建并切换到改分区,相当于一下两个命令:

git branch branchname  创建分支

git checkout branchname  切换到分区

2、查看当前指向的分支:git branch  会列出所有分支,当前指向的分支之前多了个*

3、切换分支就是git checkout branchname

4、合并分支:git merge branchname 合并branchname到当前分支

5、删除分支:git branch -d branchname 删除branchname分支

注意:创建、合并、删除分支都非常快,git鼓励使用分支完成某个任务,合并后删除分支,和直接在master分支上进行工作是一样的效果,但是过程更加安全;  这些之所以快是因为在这些过程中我们只是修改了指向分支的指针,如创建一个branch就是创建了一个指向分支的指针,然后修改HEAD指向该指针;即HEAD指向分支,分支就是提交。

*冲突解决:git无法自动合并分支时,就必须首先解决冲突;解决冲突之后,再提交,即完成了合并

使用git log --graph 可以查看分支合并图。

*保存工作现场   git stash  保存之后就可以进行其他工作  而不影响上次的修改

恢复工作现场:1、git stash apply  恢复时并不删除stash中内容

2、git stash pop     恢复时会删除stash中的内容

*远程库信息产看使用git remote (-v)加上-v显示信息更加详细

*分支推送到远程库:即将所有本地的提交推送到远程库

git push origin(远程库名) master (要推送的分支)

*抓取分支:git pull   ; git clone

*协作模式:

1、使用git push origin branchname 推送自己的修改

2、如果推送失败,因为远程分支比本地更新,先使用git pull 合并

3、如果合并有冲突,解决冲突,在本地提交

4、再推送

注意:如果使用git pull 合并时提示 ”no tracking information“说明本地分支没有和远程分支建立链接关系,使用以下指令建立关系:git branch --set -upstream branch origin/branchname

*在本地创建与远程对应的分支:git branch -b branchname origin/branchname  本地与远程分支的名称最好一致

*创建标签

1、打标签git tag name  默认标签打在最新提交的commit上,如果想打在其他版本上,找到commit_id即可

2、显示标签:git log -pretty=oneline --abbrev -commit

git tag tag_name commit_id

3、查看标签:git tag  显示所有标签

4、查看标签信息:git show tag_name

5、创建带有说明的标签: git tag -a tag_name -m ”信息“;-a表示标签名,-m指定说明文字

*操作标签:git tag -d tag_name 删除标签

推送标签到远程库:git push origin tag_name

一次推送所有标签到远程库:git push origin --tag

时间: 2024-10-14 20:14:41

Git在linux下的使用的相关文章

Linux培训教程 Git在linux下的使用

Linux培训教程 Git在linux下的使用  *初始化git仓库,使用git init命令 *添加文件到git仓库分两步: 1.使用git add filename ;可分多次使用,添加多个文件到暂存区 2.使用git commit -m "说明" ;完成提交到分支 兄弟连linux培训教程  Git在linux下的使用 *查看工作区状态,使用git status 命令;如果提示有修改可使用git diff filename 查看修改内容 *HEAD指向当前版本,HEAD^表示上一

git 在linux下服务端搭建

本文以centos为例,其他linux请自行参照对应方式. 1. 服务端安装git yum install git 2. 服务端添加无shell登录权限的用户,将username替换为要添加的用户 useradd -s /sbin/nologin username 3. 初始化仓库 git init --bare sample.git 4. 在客户端,也就是gitbash(windows用户)生成密钥和公钥,邮箱地址改为你自己的,当然后面的两个 -t  和 -C 参数可以不要. ssh-keyg

git安装--linux下的安装

一般linux自带git版本很旧,会有一定问题,可以先卸载系统自带git: yum remove git下载及安装git: wget https://github.com/git/git/archive/v2.2.1.tar.gztar zxvf v2.2.1.tar.gzcd git-2.2.1make configure./configure --prefix=/usr/local/git/ --with-iconv=/usr/local/libiconv --with-curl=/home

git在Linux下的安装

参考:https://git-scm.com/book/zh/v1/%E8%B5%B7%E6%AD%A5-%E5%AE%89%E8%A3%85-Git Git 的工作需要调用 curl,zlib,openssl,expat,libiconv 等库的代码,所以需要先安装这些依赖工具. $ yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel $ apt-get install libcurl4-gnutl

linux下git 的忽略命令  

以某个tp5的项目为例: git pull git rm -r runtime git commit -m 'delete runtime' git pull git push git status vim .gitignore 里面写: .idea runtime/ git status git add . git commit -m 'ignore runtime' git pull git push linux下git 的忽略命令

Linux下git基本使用总结<2>

远程库推送与克隆 1.Linux下产生ssh key 命令行输入 ssh-keygen -t rsa -C "your  email" 则会在主目录下生成一个.ssh的目录,里面的id_rsa.pub为你ssh key密钥. 在登录github下,点击 account settings -> ssh key -> add ssh key 将你的key加入 此时,你就将这两个进行了一个绑定,可以在Linux下将版本推送至github. (注:github上的代码别人也可以看到

Ubuntu Linux下通过代理(proxy)使用git上github.com

github.com,作为程序员的代码仓库,我们经常会用到.但有时候我们不能直接通过网络链接它,只能通过代理. 这里我有一台代理服务器,起初我以为在终端设置了代理环境就行了,其设置为在你的~/.bashrc里增加以下几行: export http_proxy="http://proxy-server:3128/" export https_proxy="http://proxy-server:3128/" export ftp_proxy="http://

Linux下git基本使用总结<4>

1.设置别名 例: git config --global alias.st status      用st代替status 以后查看状态git status-> git st 即可 也可以包含参数 例: git config --global alias.ci  "commit -m" 以后提交时 git commit -m "balabala"  -> git ci "balabala" git config 有几种参数 可以为g

日积月累Learning Linux(一):在Linux下安装Git工具

背景: 由于项目需要,经常在github上下载开源库项目源代码.因此最近决定花时间系统学习一下Linux下的相关软件的安装方法,这里就以Git工具的安装为例进行讲解. Linux(fedora18)安装Git工具: 1)Git与Github的区别: Github是一个网站,给用户提供git服务.相当于web版的Git工具,在Github上注册个账号,就可以享受网站提供的Git服务.而Git是一个版本控制系统,与SVN.CVS是类似的概念,简单点说就是对你的文件的一种版本管理(此处所谓的版本其实就