SourceTree 是 Windows 和Mac OS X 下免费的 Git 和 Hg 客户端管理工具,同时也是Mercurial和Subversion版本控制系统工具。支持创建、克隆、提交、push、pull 和合并等操作。
SourceTree拥有一个精美简洁的界面,大大简化了开发者与代码库之间的Git操作方式,这对于那些不熟悉Git命令的开发者来说非常实用。
初始化版本库:git init
添加文件:git add
添加关于文件的描述信息:git commit -am "描述信息"
查看仓库状态:git status
(1)git status // git状态
(2)git add bash_demo.txt // 提交到暂存区
(3)git commit -m "bash first commit" // 提交到本地仓库
(4)git add bash_demo.txt
(5)git reset HEAD bash_demo.txt // 暂存区未commit 回滚至上次状态
(5)git checkout -- bash_demo.txt // 本地工作区文件回滚至上一次状态
已经提交的代码,怎么取消本次提交的修改呢
git log 查看修改日志 copy最近一次修改的commit码
git reset --hard commit码 重置当前分支至此次提交(hard说明的是仓库和暂存区的还有工作区文件都回滚到那个码的状态)
本地的git库与github仓库之间传输是通过ssh传输,所以需要创建一个SSH key。
ssh-keygen -t rsa -C "注册的邮箱"
ssh -T [email protected] 判断本地仓库和远程仓库是否连通
git remote add origin [email protected]:lswcc/lsw.git "添加远程仓库"
git pull origin master 数据同步到远程仓库
因为在日常工作中,我们需要与多人合作开发项目,这样的话需要把远程仓库的代码克隆一部分到本地,然后在本地进行开发,同时在开发完成之后要将更改的内容提交到远程仓库中,这样大家才能协作开发。
创建一个远程仓库
git clone [email protected]:test/test.git --将服务器上的远程仓库同步到本地
在我们日常工作中,当需要发布一个新的版本,通常是在版本库中打一个标签,这样就确定了该标签对应的版本时刻,以便将来在某一时刻能够回滚到当前的版本,我们就可以通过标签取出来。
假设临时有个很严重的其他问题需要紧急修补,按照下面的方式处理:
工作完成以后,将分支iss53合并入master。如果iss53与hotfix工作没有冲突,则合并成功,如果有冲突则需要再进行处理判断后,再合并。
1.git fetch 相当于是从远程获取最新到本地,不会自动merge,如下指令:
git fetch orgin master //将远程仓库的master分支下载到本地当前branch中 git log -p master ..origin/master //比较本地的master分支和origin/master分支的差别 git merge origin/master //进行合并
2. git pull:相当于是从远程获取最新版本并merge到本地
git pull origin master
git pull 相当于从远程获取最新版本并merge到本地。在实际使用中,git fetch更安全一些。
用一句话形容这二者的关系:git是弓,你的代码是箭,github是靶子。 git是软件,它可在本地建立仓库,你写的代码的各个版本都可以存着。github是网上仓库,你写的代码的各个版本都可以存着。
git是一个版本管理工具,是可以在你电脑不联网的情况下,只在本地使用的一个版本管理工具,其作用就是可以让你更好的管理你的程序,比如你原来提交过的内容,以后虽然修改了,但是通过git这个工具,可以把你原来提交的内容重现出来,这样对于你后来才意识到的一些错误的更改,可以进行还原。
关于github,这是一个网站,就是每个程序员自己写的程序,可以在github上建立一个网上的仓库,你每次提交的时候可以把代码提交到网上,这样你的每次提交,别人也都可以看到你的代码,同时别人也可以帮你修改你的代码,这种开源的方式非常方便程序员之间的交流和学习。